0

我正在使用Spark 2.0。要求是通過將值選擇到數據框來創建新表。而寫出DF作爲Spark Spark可以從數據框中推導架構

df.write.saveasTable(hive_table_name,格式= '拼花',模式= '覆蓋')

錯誤是: 客戶端無法通過認證:[TOKEN,KERBEROS] 主機詳細信息:本地主機是:「some-ip」,目的主機是:「some-other-ip」

另外,如果該表不存在於配置單元中,spark.write.saveasTable將在配置單元中創建一個新表,自動推斷架構?

回答

0

好了,一些學習收穫在過去幾周內,

saveasTable節省了表的HDFS文件系統。如果沒有在Hive上顯式創建的模式來使用parquet文件,那麼在創建數據框時,來自spark的模式推斷不會被配置單元用於反映Hive上表的現有列。

模式推斷僅適用於JSON,CSV,不適用於.dat文件或壓縮文本文件。這些文件必須用分隔符處理,並且必須將第一行重新命名爲列標題,然後將其保存到磁盤。

0

我不確定您收到的錯誤,但是,如果您嘗試創建不存在的表格,Spark會自動推斷該模式。

希望有幫助!

蘇巴

+0

感謝Subash。我不確定主機和目的地之間的路由問題如何。 –