【发布时间】:2014-08-14 22:45:25
【问题描述】:
我有一个具有此配置的 Hive 表 TEST:
create external table if not exists TEST (
ID bigint,
ACTIVITY_ID string,
BATCH_NBR
)
PARTITIONED BY (year INT, month INT, day INT)
CLUSTERED BY (BATCH_NBR) into 20 buckets
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/user/lake/hive/test';
我在这个位置有 Hive 文件,我可以轻松地将其加载到 Hive 表中并且它可以工作。
/user/lake/hive/test/2013/01/01/part-r-00001
现在,如果我创建另一个表 STORE 并从该 TEST 表中插入一些数据,则文件夹结构将更改为 Test 表。我期待在加载相同的数据后,STORE 表的位置会是这样的:
/user/core/store/2014/07/03/batch123231.1313
但是上面的位置变成了这个:
/user/core/store/year=2013/month=01/day=01/
我正在使用insert overwrite table STORE select * from TEST; 查询从 TEST 加载 STORE 表。
如何加载该表并在目标中保留相同的文件夹结构?
【问题讨论】:
标签: hadoop mapreduce hive hql hdfs