My Hive SQL代码如下:
FROM (
SELECT *, CONCAT_WS('__', ) AS no_hash_join_key
FROM xyz.e_6445
WHERE p_m_id = '{MARKET_ID}'
AND p_date = '{RUN_DATE_YYYY-MM-DD}'
) dataforge
我收到以下错误:
extraneous input ',' expecting ')'
我无法理解导致错误的原因。我尝试将其更改为以下内容:
SELECT *, CONCAT_WS('__', ' ' )
这会删除给定的错误,但会导致不同的错误:
INSERT_SQL_COLUMN_MISMATCH
我做错了什么?任何帮助将不胜感激。
答案 0 :(得分:1)
concat_ws中有一个空白参数。摆脱逗号(或传递另一个参数)
答案 1 :(得分:0)
我手边没有Hive,但是在将*
与其他列一起使用时,某些数据库需要别名。此外,您需要CONCAT_WS()
中的第二个参数。
这有用吗?
SELECT e.*, CONCAT_WS('__', NULL) AS no_hash_join_key
FROM xyz.e_6445 e
WHERE e.p_m_id = '{MARKET_ID}' AND e.p_date = '{RUN_DATE_YYYY-MM-DD}'