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")
When I execute this command using: python test.py it gives me an error.
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)
I am very new to Spark and I need help here to move forward.
解决方案
SqlContext.sql expects a valid SQL query not a path to the file. Try this:
with open("/home/ubuntu/workload/queryXX.sql") as fr:
query = fr.read()
results = sqlContext.sql(query)