hadoop - Hive-通过从不同表中选择列来创建表

标签 hadoop hive hql window-functions full-outer-join

这是我的 hive 表:
表格1:

|a |b |c |
----------
|a1|b1|c1|
|a2|b2|c2|
|a3|b3|c3|
|a4|b4|c4|
|a5|b5|c5|
表2:
|x |y |z |
----------
|x1|y1|z1|
|x2|y2|z2|
|x3|y3|z3|
|x4|y4|z4|
|x5|y5|z5|
所需的输出:
|a |b |x |y |
-------------
|a1|b1|x1|y1|
|a2|b2|x2|y2|
|a3|b3|x3|y3|
|a4|b4|x4|y4|
|a5|b5|x5|y5|
hive 中真的有可能吗?任何帮助,将不胜感激,谢谢!

最佳答案

您似乎想“排列”两个表的行。假设a列可用于按table1排序记录(resp列xtable2中),则可以按以下方式使用row_number():

select t1.a, t1.b, t2.x, t2.y
from (select t1.*, row_number() over(order by a) rn from table1 t1) t1
inner join (select t2.*, row_number() over(order by x) rn from table2 t2) t2
    on t1.rn = t2.rn
如果表的行数可能不同,并且您想保留“其他”行,则可以将inner join更改为full join

关于hadoop - Hive-通过从不同表中选择列来创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64230715/

相关文章:

hadoop - 如何告诉 Hadoop 在任务被终止时不要从 HDFS 中删除临时目录?

hadoop - 如何高效查找top-k元素?

java - 如何在 Hibernate 中进行基于自定义查询的集合映射?

java - 如何通过接受类名动态创建列表

hadoop - 在CDH中,动态资源池未运行

hadoop - 在 map reduce 作业之间传递变量

hadoop - 如何使配置单元仅将特定文件作为来自 hdfs 文件夹的输入

hadoop - Oracle表增量导入到HDFS

hive - 如何在 Hive 中将不同数据库中的两个表连接在一起?

Grails 连接表