簡體   English   中英

如何在CDH 5.4.4上從Spark查詢Hive

[英]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

我有兩個問題:

  1. Cloudera的Spark版本是否設置了hivehive-thriftserver標志?
  2. 如何從Spark查詢Hive?

更新

這幾乎可以工作:

我創建了從$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM