merge - 在 Hive 中执行 MERGE 语句时出错
问题描述
我正在尝试使用特定条件更新 table2,但在 HIVE 中使用 MERGE 语句时出现以下错误。
如果查询中有任何错误,请有人查看我的错误并提供解决方案或纠正我。
MERGE INTO TABLE1 A1
USING TABLE2 A2
ON A1.PROJECT_ID=A2.PROJECT_ID
AND A1.GREENFIELD_STATUS_CODE=A2.GREENFIELD_STATUS_CODE
AND A1.COUNTRY_CODE=A2.COUNTRY_CODE
AND A1.PROJECT_NME=A2.PROJECT_NME
WHEN MATCHED THEN UPDATE SET A1.DATETIME_STAMP=A2.DATETIME_STAMP;
对于上述查询,我收到此错误:
HiveServer2Error:编译语句时出错:FAILED:ParseException line 24:31 mismatched input '.' 期待 = 在 WHEN MATCHED THEN 子句中靠近 'A1'"
所以在这里我无法得到问题所在
解决方案
在您的match
语句中删除A1
别名,因为合并语句不需要别名。
试试这个语句:
MERGE INTO TABLE1 A1
USING TABLE2 A2
ON A1.PROJECT_ID=A2.PROJECT_ID
AND A1.GREENFIELD_STATUS_CODE=A2.GREENFIELD_STATUS_CODE
AND A1.COUNTRY_CODE=A2.COUNTRY_CODE
AND A1.PROJECT_NME=A2.PROJECT_NME
WHEN MATCHED THEN UPDATE SET DATETIME_STAMP=A2.DATETIME_STAMP;
有关 Hive-Merge 策略的更多详细信息,请参阅本文。
推荐阅读
- java - OAuth2授权码流程:spring-security不接受下发的access_token
- visual-studio-code - 没有沙箱的运行时参数
- javascript - JavaScript – ResizeObserver() 在页面加载时没有始终如一地执行函数
- r - 如何在 R 中搜索 Knoema 数据集的 ID 代码和输入
- r - 如何从数据框列表中将多个文件另存为 .txt
- python - 元素改变类硒
- python-3.x - 查找熊猫中日期时间列的累计缺失天数
- web-applications - 如何在我的 WebApp 上存储来自用户的音频?
- typescript - 用于选择效果的 Redux-saga 模块增强
- python - 在 Windows 10 中使用带有 python 的 URL 创建快捷方式