林雅峰*_*林雅峰 8 apache-spark-sql pyspark
当我编码spark sql API时hiveContext.sql()
from pyspark import SparkConf,SparkContext
from pyspark.sql import SQLContext,HiveContext
conf = SparkConf().setAppName("spark_sql")
sc = SparkContext(conf = conf)
hc = HiveContext(sc)
#rdd = sc.textFile("test.txt")
sqlContext = SQLContext(sc)
res = hc.sql("use teg_uee_app")
#for each in res.collect():
# print(each[0])
sc.stop()
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
enFile "spark_sql.py", line 23, in <module>
res = hc.sql("use teg_uee_app")
File "/spark/python/pyspark/sql/context.py", line 580, in sql
return DataFrame(self._ssql_ctx.sql(sqlQuery), self)
File "/spark/python/pyspark/sql/context.py", line 683, in _ssql_ctx
self._scala_HiveContext = self._get_hive_ctx()
File "/spark/python/pyspark/sql/context.py", line 692, in _get_hive_ctx
return self._jvm.HiveContext(self._jsc.sc())
TypeError: 'JavaPackage' object is not callable
Run Code Online (Sandbox Code Playgroud)
如何添加SPARK_CLASSPATH或SparkContext.addFile?我不知道.
也许这会对您有所帮助:当使用 HiveContext 时,我必须向 Spark-submit 参数添加三个 jar:
spark-submit --jars /usr/lib/spark/lib/datanucleus-api-jdo-3.2.6.jar,/usr/lib/spark/lib/datanucleus-core-3.2.10.jar,/usr/lib/spark/lib/datanucleus-rdbms-3.2.9.jar ...
Run Code Online (Sandbox Code Playgroud)
当然,路径和版本取决于您的集群设置。
| 归档时间: |
|
| 查看次数: |
13934 次 |
| 最近记录: |