2016-07-07 28 views
0

我在spark-defaults.conf,xml文件中有Spark配置:core-site.xml,hive-site.xml和我導出的環境變量。當我運行pyspark控制檯:運行帶有pyspark設置的python腳本

$ 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

如果我在Python中運行它,我得到空結果 – user2357858

回答

0

我的理解是,當你運行PySpark Shell時,Spark被實例化爲支持Hive,即HiveContext,默認爲SQLContext

但是,在運行Python程序或Python解釋器時,與您的情況一樣,SQLContext不附帶Hive支持。

爲了解決這個問題

sqlCtx = HiveContext(sc) 
sqlCtx.sql("show tables").show() 
+0

非常感謝,它的工作原理! :) – user2357858

+0

我試圖使用一些pyspark scipt代碼,它也可以工作,但是您的解決方案要簡單得多。 – user2357858