我运行蜂房071,处理现有数据是具有下列目录布局:
-TableName
- d =(例如2011-08-01)
- d = 2011-08-02
- d = 2011-08-03
...等
在每个日期下我有日期文件。
立即加载我使用蜂巢:动态分区添加到外部表
CREATE EXTERNAL TABLE table_name (i int)
PARTITIONED BY (date String)
LOCATION '${hiveconf:basepath}/TableName';**
我想我的蜂巢脚本能够根据一些输入日期装入相关的分区天的数据,和数量。所以如果我通过日期= '2011-08-03'和天= '7'
脚本应该加载以下分区 - d = 2011-08-03
- d = 2011-08 -04
- d = 2011-08-05
- d = 2011-08-06
- d = 2011-08-07
- d = 2011-08-08
- d = 2011-08 -09
我没有带发现的任何discent方式做到这一点前CEPT explicitlly运行:
ALTER TABLE table_name ADD PARTITION (d='2011-08-03');
ALTER TABLE table_name ADD PARTITION (d='2011-08-04');
ALTER TABLE table_name ADD PARTITION (d='2011-08-05');
ALTER TABLE table_name ADD PARTITION (d='2011-08-06');
ALTER TABLE table_name ADD PARTITION (d='2011-08-07');
ALTER TABLE table_name ADD PARTITION (d='2011-08-08');
ALTER TABLE table_name ADD PARTITION (d='2011-08-09');
,然后运行我的查询
select count(1) from table_name;
然而这offcourse不按照日期和天数输入
自动化有什么办法,我可以定义到外部表根据日期范围或日期算术加载分区?
你好!你能解决这个问题吗?如果是这样,你能分享你的解决方案吗?谢谢!! – eli
正在与亚马逊EMR合作。它认为亚马逊实施了以下命令:“alter table X recover partitions”,它将所有子目录添加为分区。这部分解决了这个问题,使用“where d> start和d
Tomer
谢谢。我希望避免不得不恢复分区,因为它需要一段时间。 – eli