首页 > 解决方案 > 由于失败,第二个配置单元查询失败:ParseException 行 5:101 在第一个配置单元查询中缺少 EOF

问题描述

我正在处理以下 .hql 文件中的异常处理是我的脚本

use galaxy60_1000;

CREATE EXTERNAL TABLE scd_member1 (scd_member_key string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/AutomationFiles/galaxy60_1000/scd_member

CREATE EXTERNAL TABLE scd_member3 (scd_member_key string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/AutomationFiles/galaxy60_1000/scd_member';

问题陈述

  1. 这里第一个配置单元查询失败是由于

失败:ParseException 第 5:101 行缺少 EOF

这是正确的,但第二个配置单元查询不起作用,因为它试图在下面的查询中执行

CREATE EXTERNAL TABLE scd_member3 (scd_member_key string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ''

我真的很困惑为什么它不考虑我在脚本中编写的查询

标签: hivehql

解决方案


我真的很困惑为什么它不考虑我在脚本中编写的查询

您的第一CREATE条语句最后缺少了',并将;两个命令分开。

一般来说,synthax 分析器不能一次找到所有的错误,第一个发现的 synthax 错误将隐藏其余的错误。在脚本的情况下,可能会根据错误的解析代码继续执行!

可以肯定的是,您只能修复第一个错误,然后看看它会如何。

它应该是这样的:

use galaxy60_1000;

CREATE EXTERNAL TABLE scd_member1 (scd_member_key string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/AutomationFiles/galaxy60_1000/scd_member';

CREATE EXTERNAL TABLE scd_member3 (scd_member_key string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/AutomationFiles/galaxy60_1000/scd_member';

推荐阅读