失败:SemanticException 列 line_id 发现不止一个 Tables/Subqueries

FAILED: SemanticException Column line_id Found in more than One Tables/Subqueries

我在 运行 运行此配置单元脚本时遇到以下错误。

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')

如何 运行 这个 hive 脚本没有错误?

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