我们有一个查询,可以直接在另一个表上使用INSERT-SELECT
查询将数据加载到表中,如下所示
INSERT OVERWRITE TABLE <table1>
SELECT * FROM <table2> t2
WHERE <some-conditions>;
同样如何加载具有复杂数据类型的表?如何让SELECT查询中的几列/一些列为复杂的数据类型列做出贡献?我明白了吗?
table1的架构是
TABLE (col1 INT, col2 STRING, col3 ARRAY<STRING>)
注意:可以从文件加载到此类表格,但我只想尝试是否可以使用上述INSERT-SELECT
查询方式加载。感谢您的兴趣。
答案 0 :(得分:0)
Hive等效于insert .. select是以下之一:
1. from (table 2 query)
insert [overwrite] table <table1> [partition clause if partitioned table]
OR
2. create table table1 as select <table2 query>
注意#2(CTAS)不可靠。将#1与显式表创建或类似的东西结合使用会更好:
create table <table1> **like** table2