python - 如何使用python在spark中执行.sql文件

标签 python apache-spark apache-spark-sql pyspark

from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext

conf = SparkConf().setAppName("Test").set("spark.driver.memory", "1g")
sc = SparkContext(conf = conf)

sqlContext = SQLContext(sc)

results = sqlContext.sql("/home/ubuntu/workload/queryXX.sql")

当我使用以下命令执行此命令时:python test.py 它给我一个错误

y4j.protocol.Py4JJavaError: An error occurred while calling o20.sql. : java.lang.RuntimeException: [1.1] failure: ``with'' expected but `/' found

/home/ubuntu/workload/queryXX.sql

at scala.sys.package$.error(package.scala:27)

我是 Spark 的新手,我需要这里的帮助才能继续前进。

最佳答案

SqlContext.sql 需要有效的 SQL 查询而不是文件路径。试试这个:

with open("/home/ubuntu/workload/queryXX.sql") as fr:
   query = fr.read()
results = sqlContext.sql(query)

关于python - 如何使用python在spark中执行.sql文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961254/

相关文章:

python - 求解数组中的最大增量

Python单元测试失败: should raise value error but not

eclipse - 从Eclipse启动远程Spark作业时出错

python - 如何查询当无列表是pyspark中列中的值时

caching - 如何在 Spark SQL 中缓存和持久化临时表?

python - 多次调用常见的 Python 脚本

vector - Spark : value reduceByKey is not a member

apache-spark - pyspark.mllib DenseMatrix 乘法

sql - 如何聚合 PySpark(或最终 SQL)中不同列的值?

python - 云功能中的 spacy 模型不起作用