这里,我们在执行如下SQL的时候报错,SQL与报错如下:
0: jdbc:hive2://cdh-manager:10000> SELECT
. . . . . . . . . . . . . . . . .> a.user_id
. . . . . . . . . . . . . . . . .> ,a.salary
. . . . . . . . . . . . . . . . .> FROM datacube_salary_org AS a
. . . . . . . . . . . . . . . . .> JOIN datacube_salary_basic_aggr AS b
. . . . . . . . . . . . . . . . .> ON a.user_id != b.user_id
. . . . . . . . . . . . . . . . .> ;
Error: Error while compiling statement: FAILED: SemanticException [Error 10017]: Line 6:3 Both left and right aliases encountered in JOIN 'user_id' (state=42000,code=10017)
主要原因:
Hive 中不支持不等值连接,我们需要使用 LEFT OUTER JOIN 实现,
SQL 如下: