我運行蜂房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