gpt4 book ai didi

hadoop - 使用分区将数据从一个 Hive 表加载到另一个

转载 作者:可可西里 更新时间:2023-11-01 14:10:43 26 4
gpt4 key购买 nike

我在一个 Hive 表中有数据,想将数据加载到另一个 Hive 表中。

源表是 reg_logs,它有 2 个分区,日期和小时。数据每小时加载到该表中。架构是:

CREATE EXTERNAL TABLE IF NOT EXISTS reg_logs (
id int,
region_code int,
count int
)
PARTITIONED BY (utc_date STRING, utc_hour STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION '/ad_data/raw/reg_logs';

目标表是 reg_logs_org 我想做的就是从 utc_hour 列旁边的 reg_logs 复制所有数据。

我创建的架构是:(如果我错了请更正)

CREATE EXTERNAL TABLE IF NOT EXISTS reg_logs_org (
id int,
region_code int,
count int
)
PARTITIONED BY (utc_date STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION '/ad_data/reg_logs_org';

将数据从 reg_logs 插入 reg_logs_org:

insert overwrite table reg_logs_org
select id, region_code, sum(count), utc_date
from
reg_logs
group by
utc_date, id, region_code

错误信息:

 FAILED: SemanticException 1:23 Need to specify partition columns because the destination table is partitioned. Error encountered near token 'reg_logs_org'

==

Thank you,
Rio

最佳答案

这是因为您在插入查询中缺少分区信息

  insert overwrite table reg_logs_org PARTITION (utc_date)
select id, region_code, sum(count), utc_date
from
reg_logs
group by
utc_date, id, region_code

关于hadoop - 使用分区将数据从一个 Hive 表加载到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24211372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com