簡體   English   中英

Spark 臨時表的問題

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

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