蜂巢内部表和外部表之间的性能差异

时间:2016-12-24 02:46:36

标签: hadoop hive

我想暂时使用hive对hdfs上的文件执行一些操作,所以我不想使用内部表。但我的数据是如此巨大,例如1TB,所以我担心外部表的性能。 所以我问一下这个问题 hive中table和extenal表之间的性能差异。

2 个答案:

答案 0 :(得分:0)

您可以创建配置单元外部表并使用它们。我没有注意到内部和外部表的性能有任何重大差异。

为了提高性能,您可以创建由hive管理的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

答案 1 :(得分:0)

我所经历的外部和内部表性能之间的差异是

内部表占用更多 CPU 时间

外部表占用的 CPU 时间减少约 40%