在阅读datastax文档以了解sparksql支持的语法时,我注意到您可以使用 INSERT
你通常会这样说:
INSERT INTO hello (someId,name) VALUES (1,"hello")
在spark 2.0(python)环境和mysql数据库连接中进行测试时,会抛出错误:
File "/home/yawn/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/utils.py", line 73, in deco
pyspark.sql.utils.ParseException:
u'\nmismatched input \'someId\' expecting {\'(\', \'SELECT\', \'FROM\', \'VALUES\', \'TABLE\', \'INSERT\', \'MAP\', \'REDUCE\'}(line 1, pos 19)\n\n== SQL ==\nINSERT INTO hello (someId,name) VALUES (1,"hello")\n-------------------^^^\n'
但是,如果删除显式列定义,它将按预期工作:
INSERT INTO hello VALUES (1,"hello")
我错过什么了吗?
1条答案
按热度按时间woobm2wo1#
spark支持配置单元语法,所以如果您想插入行,您可以按如下操作