[英]Issue with Spark temporary table
我正在使用最新的HDP Sandbox (2.4.0.0-169)
。 我在 Spark-shell 中編寫了以下代碼( Spark Version 1.6.0
)
var orcData = sqlContext.sql("select code from sample_07");
var paymentDataCache = orcData.cache;
paymentDataCache.registerTempTable("paymentDataCache");
按照以下命令啟動節儉服務器和直線
1) export SPARK_HOME=/usr/hdp/2.4.0.0-169/spark/
2) sudo ./sbin/start-thriftserver.sh --master yarn-client --executor-memory 512m --hiveconf hive.server2.thrift.port=10015
3) ./bin/beeline
4) !connect jdbc:hive2://localhost:10015
現在,如果我執行 show tables,我希望看到 paymentDataCache 臨時表。 請找到隨附的屏幕截圖。
我還嘗試使用以下命令啟動節儉服務器
sudo ./sbin/start-thriftserver.sh --master yarn-client --executor-memory 512m --hiveconf hive.server2.thrift.port=10015 --conf spark.sql.hive.thriftServer.singleSession=true
但沒有運氣。
我們在HDP (2.3.2.0-2950 with Spark 1.4.1)
9 節點集群中嘗試了相同的過程,但我們沒有在 Spark HDP (2.3.2.0-2950 with Spark 1.4.1)
看到臨時表。
注冊臨時表時,該表僅存在於創建它的 Spark 上下文中。 因此,當您啟動一個新的 thriftserver 時,它運行的 Spark 上下文與您的spark-shell
上下文不同,並且看不到臨時表。
如果要運行測試,可以在 spark-shell 中放入以下代碼行:
org.apache.spark.sql.hive.thriftserver.HiveServer2.startWithContext(sqlContext)
它使用您傳入的 Spark 上下文啟動一個新的 thriftserver。這樣,新的 thriftserver 將能夠看到注冊的臨時表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.