【发布时间】:2020-09-29 18:16:34
【问题描述】:
我有一个包含以下列的目标外部表:
UPDATED_BY STRING,
Name STRING
我想从具有以下列的源表中将数据插入到目标表中:
UPDATED_BY STRING,
abc STRING
两个表都按年、日和月分区。是否可以将 col abc 的数据从源表插入到目标表的 Name 列中?请帮忙
【问题讨论】:
我有一个包含以下列的目标外部表:
UPDATED_BY STRING,
Name STRING
我想从具有以下列的源表中将数据插入到目标表中:
UPDATED_BY STRING,
abc STRING
两个表都按年、日和月分区。是否可以将 col abc 的数据从源表插入到目标表的 Name 列中?请帮忙
【问题讨论】:
我相信这应该可行。
只需使用目标列名称为源表列别名。
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
INSERT OVERWRITE TABLE target_external_table PARTITION(YEAR,MONTH,DAY) --check partition order in your table. I believe this is the order.
SELECT
UPDATED_BY,
abc AS name,
YEAR,
MONTH,
DAY
FROM source_table;
【讨论】:
FROM source_table where year=2010一样在末尾添加一个where子句吗?我没有year、month 和day 作为源表中的列,我需要指定它们吗?源和目标都已按年、月和日划分