FAILED:SemanticException列line_id在多个表/子查询中找到

时间:2015-02-17 12:46:16

标签: mysql hadoop hive

运行此配置单元脚本时出现以下错误。

INSERT OVERWRITE TABLE foo_test PARTITION (ds='${DAY}')
SELECT dt1.time, dt1.line_id, dt1.foo_id, dt1.bar_code
FROM test_logs dt1
JOIN
    ( SELECT MIN(time) as foo_time, line_id, foo_id
      FROM test_logs
      WHERE ( ds >= '2015-02-10') AND ds <= '2015-02-16') AND line_id IN ('2609', '2610', '2763')
      GROUP BY line_id, foo_id ) dt2

ON dt1.time = dt2.foo_time
WHERE ( dt1.ds >= '2015-02-10') AND dt1.ds <= '2015-02-16') AND line_id IN ('2609', '2610', '2763')

如何在没有错误的情况下运行此配置单元脚本?

1 个答案:

答案 0 :(得分:1)

您的WHERE子句引用line_id,这是不明确的,因为它可能来自dt1dt2。您需要将其更改为dt1.line_iddt2.line_id,具体取决于您要引用的内容。