SQL/Hive table 别名
SQL/Hive table alias
我正在尝试 运行 在配置单元上进行此查询。我得到错误
失败:ParseException 行 1:83 无法识别谓词 'a1'。失败规则:连接类型说明符
中的 'kwInner'
SELECT
a1.a_date,
b1.cli_n,
a1.a_app,
sum(a1.rp_time)
FROM
table_1 a1,
table_2 b1
WHERE
a1.a_app = b1.a_app
AND a1.a_date >= '2015-05-01'
AND a1.a_env IN ('a', 'b')
AND a1.raw_data like '%abc%'
AND a1.a_ser NOT LIKE '%fgh%'
GROUP BY
a1.a_date,
b1.cli_n,
a1.a_app
我认为它无法解析 "FROM table_1 a1," 部分。我可以请求帮助了解为什么 HIVE 拒绝此查询吗?
如果您的配置单元版本小于 0.13.0,您必须使用 JOIN 和 ON,而不是 Comma 和 WHERE。所以下面应该有效:
SELECT
a1.a_date,
b1.cli_n,
a1.a_app,
sum(a1.rp_time)
FROM
table_1 a1
LEFT OUTER JOIN
table_2 b1
ON
(
a1.a_app = b1.a_app
AND a1.a_date >= '2015-05-01'
AND a1.a_env IN ('a', 'b')
AND a1.raw_data like '%abc%'
AND a1.a_ser NOT LIKE '%fgh%'
)
GROUP BY
a1.a_date,
b1.cli_n,
a1.a_app
我正在尝试 运行 在配置单元上进行此查询。我得到错误 失败:ParseException 行 1:83 无法识别谓词 'a1'。失败规则:连接类型说明符
中的 'kwInner'SELECT
a1.a_date,
b1.cli_n,
a1.a_app,
sum(a1.rp_time)
FROM
table_1 a1,
table_2 b1
WHERE
a1.a_app = b1.a_app
AND a1.a_date >= '2015-05-01'
AND a1.a_env IN ('a', 'b')
AND a1.raw_data like '%abc%'
AND a1.a_ser NOT LIKE '%fgh%'
GROUP BY
a1.a_date,
b1.cli_n,
a1.a_app
我认为它无法解析 "FROM table_1 a1," 部分。我可以请求帮助了解为什么 HIVE 拒绝此查询吗?
如果您的配置单元版本小于 0.13.0,您必须使用 JOIN 和 ON,而不是 Comma 和 WHERE。所以下面应该有效:
SELECT
a1.a_date,
b1.cli_n,
a1.a_app,
sum(a1.rp_time)
FROM
table_1 a1
LEFT OUTER JOIN
table_2 b1
ON
(
a1.a_app = b1.a_app
AND a1.a_date >= '2015-05-01'
AND a1.a_env IN ('a', 'b')
AND a1.raw_data like '%abc%'
AND a1.a_ser NOT LIKE '%fgh%'
)
GROUP BY
a1.a_date,
b1.cli_n,
a1.a_app