将配置单元循环插入同一表中的select

ifsvaxew  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(360)

我目前正在工作的配置单元,我想在现有的表中插入一个数字n倍的内容。
为了说明我想要什么:
我有一个表测试(var1 string,var2 string,var3 string),例如有20行。我想在表中插入测试20行n次(例如3次,以便在循环末尾有80行)。
我试过这样的要求:

for n in 1 3;
do 
INSERT INTO test 
(var1 STRING, var2 STRING, var3 STRING)
SELECT var1 STRING, var2 STRING, var3 STRING
FROM test;
done;

但没用。
蚂蚁的建议?谢谢

atmip9wb

atmip9wb1#

不需要循环。

演示

create table t (i int);
insert into t values (1),(2);
select * from t;
+----+
| i  |
+----+
| 1  |
| 2  |
+----+
insert into t 
select  t.* 
from    t 
        lateral view explode(split(space(3-1),' ')) e
;

select * from t;
+----+
| i  |
+----+
| 1  |
| 1  |
| 1  |
| 2  |
| 2  |
| 2  |
| 1  |
| 2  |
+----+

相关问题