如何将多个表的结果写入配置单元中的单个表?

时间:2014-02-24 14:06:14

标签: hadoop hive bigdata

我想通过从多个表中选择列来将结果写入单个表。 我想在蜂巢中实现类似下面的东西。

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中执行上述查询时,我遇到异常。

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

2 个答案:

答案 0 :(得分:1)

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

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

你在运行什么版本的蜂巢?在stackoverflow上发布之前是否可以修改查询?

答案 1 :(得分:0)

如果您只是从多个表中选择列而不进行聚合,则无需使用GROUP BY。如果您不想拥有重复的行,也可以使用SELECT DISTINCT(而不是GROUP BY)。