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

複製到命令無法識別從JSON文件映射類型的價值

匿名
不適用

我有一個三角洲與單一列的類型映射表中數據磚<字符串,字符串>我有一個JSON格式的數據文件由蜂巢3表thecolumn相同類型。我想從文件加載數據到磚的表使用複製到命令。

我試著這個命令

為db1副本。表1(選擇演員(map1 map < string, string >)從“/”)map1 FILEFORMAT = = JSON文件(“/ mnt /外部/ repl_test / db1 / table1/000000_0’) COPY_OPTIONS(“力”=“真正的”);

但有一個錯誤

錯誤的SQL語句:AnalysisException:不能解決“map1”由於數據類型不匹配:不能把結構體<關鍵:string > map < string, string >;1號線pos 34;”項目(鑄造(map1 # 6876 map < string, string >) map1 # 6856) + -關係(map1 # 6876) json

JSON文件包含以下內容

{" map1 ":{“關鍵”:“價值”}}

是插入數據時生成Hive3表存儲SerDe org.apache.hadoop.hive.serde2.JsonSerDe。

有一個合適的方法來加載json文件映射到δ表?

7回複7

Hubert_Dudek1
尊敬的貢獻者三世

@Alexey Murashev, struct <關鍵:string >是一個嵌套列。它與地圖沒有共同之處,所以你不能丟。尋找以下例子與{“map1”:{“關鍵”:“價值”}}:

image.png

匿名
不適用

謝謝你的回答!

就我而言我隻是想從蜂巢遷移數據表數據磚δ表。兩個表有相同的模式與列類型的地圖> <字符串,字符串。所以我就不明白有直接使用複製到命令和適當的方式遷移數據的源表以JSON格式存儲數據嗎?

Hubert_Dudek1
尊敬的貢獻者三世

@Alexey Murashev複製好隻是你需要轉換的struct <關鍵:string >鑄不會工作在這種情況下。

Kaniz
社區經理
社區經理

嗨@Alexey Murashev,請讓我們知道如果@Hubert杜德克的回答幫助,或者我們會為你找到另一個答案。

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

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

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

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

Baidu
map