取消
顯示的結果
而不是尋找
你的意思是:

無法從三角洲讀取數據表使用python腳本後表屬性變化。

Lakshmi_J
新的貢獻者二世

重命名列包括()一套三角洲表和下麵的表屬性

ALTER TABLE test_table TBLPROPERTIES (

“三角洲。minReaderVersion ' = ' 2 ',

“三角洲。minWriterVersion ' = ' 5 ',

“delta.columnMapping。模式”=“名字”

)

但是我們能夠閱讀在磚,

如果我們使用一個python腳本讀取表中顯示的列十六進製

錯誤

2回答2

匿名
不適用

@Lakshmi Jayaraman:

有可能相關的問題是閱讀時使用的編碼三角洲表使用的Python腳本。一個解決方案是閱讀時顯式地指定的編碼表。

你可以試著讀表使用Python中的三角洲包和指定的編碼如下:

從三角洲。表導入DeltaTable DeltaTable = DeltaTable。forPath(火花,“/道路/ /表”)df = deltaTable.toDF() #顯式地指定編碼在df顯示列坳。列:打印(col.encode (utf - 8))

這應該以utf - 8格式顯示列名。然後您可以使用這些列DataFrame引用的列的名稱。

如果這不起作用,你可以嚐試閱讀三角洲表在Python中使用火花SQL腳本如下:

df = spark.read.format(“δ”).load(“/道路/ /表”)#顯式地指定編碼在df顯示列坳。列:打印(col.encode (utf - 8))

這也應該以utf - 8格式顯示列名。

如果這兩個解決方案,這個問題有可能與三角洲湖的版本使用的Python腳本。確保您使用的是版本兼容的三角洲湖三角洲表屬性設置。您可以檢查使用的版本的三角洲湖磚通過運行下麵的命令:

% sh貓/磚/火花/ python / lib / python3.7 /網站/δ/版本

確保您的Python腳本中使用的版本的三角洲湖匹配版本用於磚。

Vidula_Khanna
主持人
主持人

嗨@Lakshmi Jayaraman

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map