我是Spark的新手,想在Spark流上运行Spark SQL查询。
我目前的理解是我需要在我的Spark作业的代码中定义我的SQL查询,因为从Spark SQ主页提取的这个片段显示: -
spark.read.json("s3n://...")
.registerTempTable("json")
results = spark.sql(
"""SELECT *
FROM people
JOIN json ...""")
我想要做的是在某处定义我的查询 - 例如。 .sql文件 - 然后将其部署在Spark集群上。
有人能告诉我Spark现在是否支持这种架构?例如。一些API?
答案 0 :(得分:2)
你可以使用open with open来填充你的目的:
with open('filepath/filename.sql') as fr:
query = fr.read()
x = spark.sql(query)
x.show(5)
您可以在使用filename.sql
sys.argv[]
作为参数传递
请参阅此链接以获取更多帮助:Spark SQL question