2017-07-18 67 views
0

我面臨一個問題:我無法使用spark-submit從Spark訪問Hive表,而我可以使用pyspark外殼。這裏是一段代碼:從Spark訪問Hive表

from pyspark.sql import SparkSession, HiveContext 

spark = SparkSession \ 
    .builder \ 
    .appName("Python Spark SQL Hive integration example") \ 
    .enableHiveSupport() \ 
    .getOrCreate() 

spark.sql("SHOW TABLES").show() 

這裏與pyspark(殼)的結果:

+--------+-------------+-----------+ 
|database| tableName|isTemporary| 
+--------+-------------+-----------+ 
| default|  table1|  false| 
| default|  table2|  false| 
+--------+-------------+-----------+ 

這裏是與結果火花提交:

+--------+---------+-----------+ 
|database|tableName|isTemporary| 
+--------+---------+-----------+ 
+--------+---------+-----------+ 

我試圖將spark conf目錄添加到類路徑中,使用hive-site.xml添加「--files」,我也嘗試了Hivecontext,並得到了相同的結果。我試着用scala:結果一樣。

編輯:我沒有連接到遠程服務器蜂房,但在同一個

+1

可能重複[如何從火花連接到遠程hive服務器](https://stackoverflow.com/questions/39997224/how-to-connect-to-remote-hive-server-from-spark) – Brad

回答

0

發現的解決方案: 我在我的.py文件使用一些UDF(用戶定義函數)。出於某種原因,我認爲這是創造一個背景,我沒有使用正確的。現在它工作正常。