2016-12-24 59 views
1

我想通過臨時使用hive來對hdfs上的文件執行一些操作,所以我不想使用內部表。但是我的數據非常龐大,例如1TB,所以我擔心外部表的性能。 所以我問了關於 配置單元中表和Extenal表之間性能差異的問題。配置單元內部表和extenal表之間的性能差異

+1

希望你正在尋找蜂巢內部表和外部表之間的差異。請澄清。 –

+0

是的,我得到了錯誤的詞「擴展」。對不起。我再次使用正確的詞搜索,並得到一些答案,這是他們之間的表現沒有區別,這是不對的? –

+0

請參閱我的這個答案:http://stackoverflow.com/a/37192041/2142994 –

回答

0

您可以創建配置單元外部表並使用它們。我沒有注意到內部和外部表的性能有任何重大差異。

爲了提高性能,您可以創建由配置單元管理的ORC(文件格式)表。

Create ORC table: 
CREATE TABLE IF NOT EXISTS <orc_table_name>(
    <col name> <type>) 
COMMENT 'comments' 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
STORED AS ORC; 

然後插入到ORC表:

INSERT OVERWRITE TABLE <orc_table_name> SELECT * FROM <external_table_name>; 

參見:HDFS to Hive external table and ORC