我在spark-defaults.conf,xml文件中有Spark配置:core-site.xml,hive-site.xml和我导出的环境变量。当我运行pyspark console时:
$ pyspark --master yarn
然后:
>>> sqlContext.sql("show tables").show()
一切都是正确的,但是当我使用纯python解释器时,我看不到我的表。
from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext
conf = SparkConf().setMaster("yarn-client")
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
sqlContext.sql("show tables").show()
如何让python查看所有配置文件?
答案 0 :(得分:0)
我的理解是,当你运行PySpark Shell时,Spark会被实例化,支持Hive,即HiveContext
,默认为SQLContext
。
但是在运行Python程序或Python解释器时,就像你的情况一样,SQLContext没有Hive支持。
解决此问题
sqlCtx = HiveContext(sc)
sqlCtx.sql("show tables").show()