Join 从不同的表中选择多个列并在配置单元中联接

Join 从不同的表中选择多个列并在配置单元中联接,join,hive,nosql,Join,Hive,Nosql,我有一个包含5列的配置单元表a,第一列(a.key)是键,我想保留所有5列。我想从B中选择两列,比如B.key1和B.key2,从C中选择两列,比如C.key1和C.key2。我想用A.key=B.key1和B.key2=C.key1连接这些列 我想要的是一个新的外部表D,它有以下列。如果未发生匹配,则应为B.key2和C.key2值指定NULL A.key, A_col1, A_col2, A_col3, A_col4, B.key2, C.key2 正确的配置单元查询命令应该是什么?我在

我有一个包含5列的配置单元表a,第一列(a.key)是键,我想保留所有5列。我想从B中选择两列,比如B.key1和B.key2,从C中选择两列,比如C.key1和C.key2。我想用A.key=B.key1和B.key2=C.key1连接这些列

我想要的是一个新的外部表D,它有以下列。如果未发生匹配,则应为B.key2和C.key2值指定NULL

A.key, A_col1, A_col2, A_col3, A_col4, B.key2, C.key2 
正确的配置单元查询命令应该是什么?我在初次尝试时遇到了一个最大拆分错误。

这有效吗

create external table D as
select A.key, A.col1, A.col2, A.col3, A.col4, B.key2, C.key2
from A left outer join B on A.key = B.key1 left outer join C on A.key = C.key2;

如果没有,你能发布更多关于你提到的“最大拆分错误”的信息吗?复制+粘贴特定的错误消息文本很好。

您的查询几乎正确,只是需要删除“外部”,它与“as”不兼容,这是我第一次尝试时写的。在我放下它之后,它起了作用。关于max split错误,它与hadoop配置有关,与查询无关。