【发布时间】:2017-11-15 14:32:58
【问题描述】:
我想问一下 Hive 分区性能。 为了查看分区性能,我需要多少条记录(以行计)?
目前,我有 200 万多条记录,并且已将表拆分为 2 个分区。 我的分区条件如下:
ADD PARTITION (year_month=’2017_07’)ADD PARTITION (year_month=’2017_08’)INSERT OVERWRITE TABLE T PARTITION (year_month='2017_07') SELECT * FROM T WHERE st_time < '2017_08_01 00:00:00.0';INSERT OVERWRITE TABLE T PARTITION (year_month='2017_08') SELECT * FROM T WHERE st_time >= '2017_08_01 00:00:00.0';
当我尝试在分区表和非分区表之间做一些性能测试时,两个表的性能是相对相同的。 我的性能测试查询如下:
SELECT * FROM T WHERE st_time < '2017_08_01 00:00:00.0';SELECT * FROM non_part_table WHERE st_time < '2017_08_01 00:00:00.0';
我错过了一些重要的点吗?
另外,分区是否适用于派生列/函数?例如。 date_format(st_time, yyyy-MM)
非常感谢任何帮助或建议。
【问题讨论】: