[英]spark insert overwrite test
I new to pyspark and would like to play with Insert Overwrite.我是 pyspark 的新手,想玩插入覆盖。
I have created a test_overwrite table with many records.我创建了一个包含许多记录的test_overwrite表。 Then I created an empty test_overwrite_3 table from test_overwrite and put some data in it.
然后我从test_overwrite创建了一个空的test_overwrite_3表并将一些数据放入其中。 (I made sure the structure is the same.)
(我确保结构是相同的。)
insert overwrite test_overwrite_3 select * from test_overwrite limit 3
插入覆盖 test_overwrite_3 select * from test_overwrite limit 3
I would expect that after executing the code above my test_overwrite_3 table with some dummy data would be deleted and it should have 3 records from my test_overwrite table.我希望在执行带有一些虚拟数据的test_overwrite_3表上方的代码后,它会被删除,并且它应该有我的test_overwrite表中的 3 条记录。
Instead I got an error message like this:相反,我收到了这样的错误消息:
*Error in SQL statement: ParseException: no viable alternative at input 'insert overwrite test_overwrite_3'(line 1, pos 17) == SQL == insert overwrite test_overwrite_3 -----------------^^^ select * from test_overwrite*
*SQL 语句中的错误:ParseException:在输入“插入覆盖 test_overwrite_3”(第 1 行,位置 17)时没有可行的替代方法 == SQL == 插入覆盖 test_overwrite_3 ----------------- ^^^ 从 test_overwrite* 中选择 *
Can anyone help what went wrong?任何人都可以帮助出了什么问题吗? Thanks!
谢谢!
no viable alternative at input 'insert overwrite test_overwrite_3
a parse error, not a type error.解析错误,而不是类型错误。 see this
看到这个
I could see table keyword is missing in your statement.我可以看到您的语句中缺少 table 关键字。
Example is :例子是:
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.