2017-05-09 95 views
0

我試圖產生與蜂巢一些拼花文件,做到這一點我在蜂巢裝一個普通蜂巢表從一些.tbl文件,throuh此命令:平面文件生成與蜂巢

CREATE TABLE地區( R_REGIONKEY BIGINT, R_NAME STRING, R_COMMENT STRING)

行格式DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE location'/ tmp/tpch-generate';

在此之後我只執行該2行:

創建表parquet_reion LIKE存儲爲PARQUET區域;

insert into parquet_region select * from region;

但是,當我檢查在HDFS中生成的輸出,我沒有找到任何.parquet文件,intead我發現文件名稱如0000_0到0000_21,並且它們的大小總和是原始tbl文件大得多。

我在做什麼錯了?

回答

1

插入語句不會創建帶擴展名的文件,但這些是實木複合地址文件。

您可以使用DESCRIBE FORMATTED <table>來顯示錶格信息。

hive> DESCRIBE FORMATTED <table_name> 

附加說明:您也可以使用下面的查詢源表創建新表:

CREATE TABLE new_test row STORED AS PARQUET AS select * from source_table 

這將創建新表鑲木格式和複製結構和數據。

+0

謝謝你的回答。但爲什麼生成的總和大於原始文件?不應該木地板輸出更小?在我的情況下,原始的tbl文件是〜230MB,生成的文件0000_0到0000_21每個98 MB,更大。 –

+0

它應該不大於原始文件。你可能會在同一個表中插入多個時間。你可以請重新檢查桌子嗎?請刪除它刪除所有舊文件,然後重新創建它。 –

+0

我刪除了文件並刪除了每個表格,甚至是數據庫,並且再次完成了所有操作,但結果相同 –