【发布时间】:2020-05-04 10:44:46
【问题描述】:
from pyspark import SparkContext
from pyspark import SparkConf
lines = sc.textFile("s3://test_bucket/txt/testing_consol.txt")
llist = lines.collect()
for lines in llist:
final_query = spark.sql("""{0}
""".format(lines))
这是txt文件里面的内容:
select * from test_table
where id=1
我收到错误消息:
"\n 匹配的输入 'where' 期望 {'(', 'SELECT', 'FROM', 'ADD', 'DESC'、'WITH'、'VALUES'、'CREATE'、'TABLE'、'INSERT'、'DELETE'、 'DESCRIBE'、'EXPLAIN'、'SHOW'、'USE'、'DROP'、'ALTER'、'MAP'、'SET'、 'RESET'、'START'、'COMMIT'、'ROLLBACK'、'REDUCE'、'REFRESH'、'CLEAR'、 '缓存','UNCACHE','DFS','截断','分析','列表','撤销', 'GRANT'、'LOCK'、'UNLOCK'、'MSCK'、'EXPORT'、'IMPORT'、'LOAD'}(第 1 行, pos 0)\n\n== SQL ==\n其中 id=1\n^^^\n"
如果我将 txt 文件的内容更改为单行,则 spark sql 可以工作:
select * from test_table where id=1
好像spark sql只能识别第一行,不能识别后续行。
【问题讨论】:
标签: amazon-s3 pyspark aws-glue