[英]how to query Hive from Spark on CDH 5.4.4
我正在運行CDH 5.4.4(捆綁了Spark 1.3.0),並想將Hive表讀入Spark數據幀。
查看文檔,它建議我們可以執行以下操作:
from pyspark.sql import HiveContext
sqlContext = HiveContext(sc)
results = sqlContext.sql("SHOW TABLES").collect()
...假設Spark是在設置-Phive
和-Phive-thriftserver
標志-Phive-thriftserver
。
我不確定Cloudera的構建是否設置了這些標志。
當我運行代碼段時,它返回以下錯誤:
15/07/10 16:54:10 WARN HiveMetaStore: Retrying creating default database after error: Error creating transactional connection factory
javax.jdo.JDOFatalInternalException: Error creating transactional connection factory
我有兩個問題:
hive
和hive-thriftserver
標志? 更新
這幾乎可以工作:
我創建了從$SPARK_HOME/conf/
到hive-site.xml
的符號鏈接,即
ln -s /etc/hive/conf.cloudera.hive/hive-site.xml $SPARK_HOME/conf/hive-site.xml
然后,我重新啟動了Spark服務,並能夠訪問Hive。 不幸的是,符號鏈接在重啟后無法幸免。
從hive conf復制hive-site.xml到spark conf.dist,如下所示,
sudo cp /etc/impala/conf.dist/hive-site.xml /etc/spark/conf.dist/
現在嘗試您能夠從pyspark讀取配置單元數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.