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

6ioyuze2  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(301)

我想通过从多个表中选择列将结果写入单个表。我想在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?
当我试图在配置单元中执行上述查询时,出现以下异常。
失败:parseexception行2:11无法识别select表达式中“”表0“”上“”附近的输入

2ul0zpep

2ul0zpep1#

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

dbf7pr2w

dbf7pr2w2#

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

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上过帐之前修改了查询?

相关问题