Spark SQL - 在 Spark Streams 上部署 SQL 查询的选项

Posted

技术标签:

【中文标题】Spark SQL - 在 Spark Streams 上部署 SQL 查询的选项【英文标题】:Spark SQL - Options for deploying SQL queries on Spark Streams 【发布时间】:2018-05-14 09:44:14 【问题描述】:

我是 Spark 的新手,想在 Spark 流上运行 Spark SQL 查询。

我目前的理解是,我需要在我的 Spark 作业的代码中定义我的 SQL 查询,因为从 Spark SQ 主页中提取的这个 sn-p 显示:-

spark.read.json("s3n://...")
  .registerTempTable("json")
results = spark.sql(
  """SELECT * 
     FROM people
     JOIN json ...""")

我想做的是在某个地方自行定义我的查询 - 例如。 .sql 文件 - 然后将其部署在 Spark 集群上。

谁能告诉我 Spark 目前是否支持这种架构?例如。一些 API?

【问题讨论】:

你用的是python对吗? 【参考方案1】:

你可以使用 python 来实现你的目的:

with open('filepath/filename.sql') as fr:
    query = fr.read()
x = spark.sql(query)
x.show(5)

您可以在使用sys.argv[] 提交作业时将filename.sql 作为参数传递

更多帮助请参考此链接:Spark SQL question

【讨论】:

嗨,不完全是我想要的,但你回答了这个问题。谢谢。 你能具体说明你的问题,以便我给你确切的答案吗?

以上是关于Spark SQL - 在 Spark Streams 上部署 SQL 查询的选项的主要内容,如果未能解决你的问题,请参考以下文章

Spark SQL - 在 Spark Streams 上部署 SQL 查询的选项

在 Spark 中使用 map() 和 filter() 而不是 spark.sql

Spark 实践 | Hive SQL 迁移 Spark SQL 在滴滴的实践

Spark 1.3.x 的 org.apache.spark.sql.cassandra 的 API 文档在哪里?

访问 Spark.SQL

基于spark1.4的Spark-Sql