如何从 python 应用查询 spark sql?

How to query spark sql from a python app?

我设置了一个测试Cassandra + Spark集群。如果执行以下操作,我能够从 spark 成功查询 Cassandra:

import org.apache.spark.sql.cassandra.CassandraSQLContext
import import sqlContext.implicits._
val cc = new CassandraSQLContext(sc)
val dataframe = cc.sql("select * from my_cassandra_table") 
dataframe.first 

我现在想从 python 我们的应用程序中查询数据。网络上的所有文档似乎都展示了如何使用 spark 的 python shell(其中隐式提供了上下文 'sc')。

我需要能够从一个独立的 python 脚本中 运行 激发 SQL,也许是一个提供网页的脚本。

我没有找到任何文档,在 apache-spark irc 频道上没有帮助。我只是在想这个错误吗?是否有其他工具可以为技术水平较低的用户提供 spark SQL?我是 spark 的新手。

来自Spark Programming Guide

Spark 程序必须做的第一件事是创建一个SparkContext 对象,它告诉Spark 如何访问集群。要创建 SparkContext,您首先需要构建一个包含有关您的应用程序信息的 SparkConf 对象。

conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)

appName 参数是您的应用程序在集群 UI 上显示的名称。 master 是 Spark、Mesos 或 YARN 集群 URL,或者是本地模式下 运行 的特殊“本地”字符串。实际上,当 运行ning 在集群上时,您不会希望在程序中硬编码 master,而是使用 spark-submit 启动应用程序并在那里接收它。但是,对于本地测试和单元测试,您可以将“local”传递给 运行 Spark in-process.


然后您可以使用 spark-submit 测试您的程序。