实现要求如下:
提取A库中T_A的数据进入Hive的a库中表t_a,添加动态分区,分区字段类型为String,且值为T_A表上的ORDERDATE字段的内容。
当分区数量很多 (大约要开启800多个分区) 有什么好的优化方法提升效率吗?
在不减少分区数量的情况下
查询最后加上
distribute by ORDERDATE
sort by ORDERDATE
distribute by按照指定的字段将数据划分到不同的输出reduce中,可以保证每个reduce处理的数据范围不重叠,每个分区内的数据是没有排序的。
sort by保证一个reduce内的数据按照指定字段排序,还可以指定reduce个数:set mapred.reduce.tasks=。