在 IMPALA 脚本的插入语句中使用选择查询的结果
Posted
技术标签:
【中文标题】在 IMPALA 脚本的插入语句中使用选择查询的结果【英文标题】:Use the result of a select query in an insert statement in IMPALA script 【发布时间】:2021-03-30 14:04:15 【问题描述】:下面的 select 语句的结果每天都在变化,但始终是 1 行:
select col1 from table_x;
我想在以下插入语句中使用该结果:
insert overwrite table table_y
select
a.col1,
b.col2,
<result_of_select_statament_here>,
a.col4
from table_y a
inner join table_z b
on a.col3 = b.col3;
有没有办法将该select语句的结果放入一个变量中,然后在insert语句中使用它?
如果没有,还有其他方法吗?
【问题讨论】:
【参考方案1】:您可以使用以下解决方法。由于您不想添加新的连接条件,因此可以分两步完成。 第 1 步 - 在 c.col1 = a.col1 上组合 table_x c 和 table_y 并创建小表 table_tmp。 第 2 步 - 将 table_tmp 与 table_z 连接
create table table_tmp as
select
a.col1,
c.col1,
a.col4
from table_y a
left join table_x c on c.col1 = a.col1;
insert overwrite table table_y
select
a.col1,
b.col2,
a.col1,
a.col4
from table_tmp a
inner join table_z b on a.col3 = b.col3
;
【讨论】:
我无法使用其他联接。内存限制。 我修改了答案,请看一下?以上是关于在 IMPALA 脚本的插入语句中使用选择查询的结果的主要内容,如果未能解决你的问题,请参考以下文章