2015-09-05 81 views
0

我的主要目標是創建一個存儲爲ORC的表。對於這一點,我跟着these steps將txt表中的數據加載到orc表中HIVE-查詢

我已創建的文件夾/用戶/蜂巢/外部和創建兩個表在相同的位置(table_txt & table_orc)。直到將數據加載到table_txt中,它很好。現在

,我發現的是,當我從table_txt移動數據使用從路徑

INSERT OVERWRITE TABLE table_orc SELECT * FROM table_txt; 

表到table_orc * /外部被刪除(如基於Web的用戶界面查看),現在我有一個文件命名爲「000000_0」,並點擊它,我得到一些編碼的東西。

的questions--

1這是什麼000000_0文件,爲什麼不在表上的Web UI

2 - 當我查詢table_txt可見,爲什麼不給任何數據?而在查詢table_orc時,我得到結果?

回答

0

在同一位置創建了兩個表格>>RED FLAG !!!

它是位置定義哪些數據文件屬於哪個表。換句話說,每個表格應位於專用目錄上。

因此INSERT OVERWRITE刪除了ORC表的專用目錄中的所有內容,然後創建了一個新的數據文件 - 以ORC二進制格式。這是預期的行爲。太糟糕了TXT文件也在那裏。

順便說一句,「外部」和「託管」表之間的區別在於,當drop託管表時,整個目錄被銷燬,而刪除外部表時則保留原樣。

+0

謝謝!我試着用表格的單獨目錄。像魅力一樣工作! :) 謝謝 –

相關問題