hadoop – 可以多次插入数据到一个分块的配置单元表中

我有一个buakted蜂巢表.它有4个桶.

CREATE TABLE user(user_id BIGINT, firstname STRING, lastname STRING)
COMMENT 'A bucketed copy of user_info'
CLUSTERED BY(user_id) INTO 4 BUCKETS;

最初我使用以下查询将一些记录插入此表中.

set hive.enforce.bucketing = true;
insert into user
select * from second_user;

在此操作之后在HDFS中,我看到在此表dir下创建了4个文件.

我再次需要在用户表中插入另一组数据.所以我运行以下查询.

set hive.enforce.bucketing = true;
insert into user
select * from third_user;

现在另有4个文件在用户文件夹目录下创建.现在它共有8个文件.

将这种多重插入物放到一个布料表中是否可以?
它会影响桌子的分组吗?

最佳答案 我想到了!!

实际上,如果你在一个bucketed蜂巢表上做了多个插入. Hive不会这样抱怨.

所有配置单元查询都可以正常工作.

话虽如此,这样的操作破坏了桌子的分层概念.我的意思是在多次插入到一个分块表后,采样失败了.

多次插入后,TABLASAMPLE无法正常工作.

甚至排序合并桶映射连接在这样的操作之后也不起作用.

点赞