繁体   English   中英

火花插入覆盖测试

[英]spark insert overwrite test

我是 pyspark 的新手,想玩插入覆盖。

我创建了一个包含许多记录的test_overwrite表。 然后我从test_overwrite创建了一个空的test_overwrite_3表并将一些数据放入其中。 (我确保结构是相同的。)

插入覆盖 test_overwrite_3 select * from test_overwrite limit 3

我希望在执行带有一些虚拟数据的test_overwrite_3表上方的代码后,它会被删除,并且它应该有我的test_overwrite表中的 3 条记录。

相反,我收到了这样的错误消息:

*SQL 语句中的错误:ParseException:在输入“插入覆盖 test_overwrite_3”(第 1 行,位置 17)时没有可行的替代方法 == SQL == 插入覆盖 test_overwrite_3 ----------------- ^^^ 从 test_overwrite* 中选择 *

任何人都可以帮助出了什么问题吗? 谢谢!

no viable alternative at input 'insert overwrite test_overwrite_3

解析错误,而不是类型错误。 看到这个

我可以看到您的语句中缺少 table 关键字。

例子是:

sql(
      """
        |INSERT OVERWRITE TABLE table_with_partition
        |partition (p1='a',p2='b',p3='c',p4='c',p5='4')
        |SELECT 'blarr' FROM tmp_table
      """.stripMargin)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM