我想通过从多个表中选择列将结果写入单个表。
我想在 hive 中实现以下目标。

SELECT Table0.num,Table1.field1, Table2.field2, Table3.field3, Table4.field4
FROM Table0
FULL OUTER JOIN Table1 ON Table0.num = Table1.num
FULL OUTER JOIN Table2 ON Table0.num = Table2.num
FULL OUTER JOIN Table3 ON Table0.num = Table3.num
FULL OUTER JOIN Table4 ON Table0.num = Table4.num

请提出如何在 hive 中实现这一目标?

当我尝试在 hive 中执行上述查询时,出现以下异常。

失败:ParseException行2:11无法识别选择表达式中“'on''Table0'附近的输入

最佳答案

如果我创建一堆这样的表:

create table Table0(num int, Field0 int);
create table Table1(num int, Field1 int);
create table Table2(num int, Field2 int);
create table Table3(num int, Field3 int);
create table Table4(num int, Field4 int);

然后运行您发布的查询就可以了。
OK
Time taken: 38.26 seconds

您正在运行什么版本的 hive ?是否有可能在发布到stackoverflow之前修改查询?

关于hadoop - 如何在Hive中将多个表的结果写入单个表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21990082/

10-16 11:42