簡體   English   中英

Spark-SQL CLI中可用的表在ThriftServer上不可用

[英]tables available in Spark-SQL CLI are not available over thriftserver

我正在嘗試通過thriftserver在JDBC上公開我的spark-sql表,但是即使我看起來已經成功連接,它也無法正常工作。 到目前為止,這是我嘗試過的。

數據庫設置:

  • 在pyspark中,我加載了一個實木復合地板文件,並創建了一個臨時視圖為tableX
  • 執行一個.saveAsTable作為hive_tableX
  • 然后我查詢了該表: spark.sql("SELECT * FROM hive_tableX LIMIT 1").show()返回了一些數據
  • 此時,我的代碼將表信息保存到hivestore中,對嗎?

從spark-sql查詢:

  • 然后,我運行了spark-sql ,啟動了spark sql shell
  • USE default
  • show tables; ->我在那看到我的桌子hive_tableX
  • SELECT * FROM hive_tableX LIMIT 1 ,我看到了一些成功的結果。
  • 因此,我相信現在可以驗證我的表已保存在配置單元metastore中,對嗎?

然后我打開Thriftserver

  • ./sbin/start-thriftserver.sh

接下來,我打開beeline,以便可以測試thriftserver連接

  • !connect jdbc:hive2://localhost:10000 (並輸入用戶名和密碼)
  • 然后我選擇默認數據庫: use default;
  • show tables; ->那里什么都沒有。

那么,我的桌子在哪里? 是直線還是節儉指向另一個倉庫或其他東西?

編輯:我認為我的thriftserver沒有使用正確的倉庫目錄,所以我正在嘗試使用config選項啟動它:

  • [仍然沒有] sbin / start-thriftserver.sh --hiveconf spark.sql.warehouse.dir = / code / spark / thrift / spark-househouse
  • [仍然沒有] sbin / start-thriftserver.sh --conf spark.sql.warehouse.dir = / code / spark / thrift / spark-househouse

編輯:在創建wherehouse所在的相同物理目錄中啟動它似乎可以解決問題。 雖然,我不知道如何以編程方式設置其他路徑並在其他地方啟動。

解決此特定問題的方法是,我從不同於spark-wherehousemetastore_db所在的目錄開始節儉。

一旦從正確的目錄啟動它,它就會按預期工作,並且我的表現在可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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