hive字段关键字问题处理

最近在xxl_job部署shell调度任务时,发现在编写Hql时,对一些使用关键字命名的字段无法解析,按开发规范,字段命名不应该有关键字,但是数据来源是第三方,无法修改,需要通过flume对从kafka的数据到hdfs上,数据是json格式,所以需要对关键字字段进行处理,最初是通过 `,',",'," 都无法识别,最后对通过转义字符解决了,解决方法如下:

具体报错如下:

bash 复制代码
2023-10-23 11:42:52 [com.xxl.job.core.thread.JobThread#run]-[133]-[xxl-job, JobThread-14-1698032572739] 
----------- xxl-job job execute start -----------
----------- Param:
2023-10-23 11:42:52 [com.xxl.job.core.handler.impl.ScriptJobHandler#execute]-[80]-[xxl-job, JobThread-14-1698032572739] ----------- script file:/data/applogs/xxl-job/jobhandler/gluesource/14_1698032568000.sh -----------
xxl-job: hello shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.4.0-315/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/3.1.4.0-315/hadoop/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Connecting to 
Connected to: Apache Hive (version 3.1.0.3.1.4.0-315)
Driver: Hive JDBC (version 3.1.0.3.1.4.0-315)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Error: Error while compiling statement: FAILED: ParseException line 4:70 cannot recognize input near 'local' ',' 'type' in select expression (state=42000,code=40000)
Good bye!
2023-10-23 11:42:59 [com.xxl.job.core.thread.JobThread#run]-[179]-[xxl-job, JobThread-14-1698032572739] 
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null
2023-10-23 11:42:59 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] 
----------- xxl-job job callback finish.
2023-10-23 11:43:35 [com.xxl.job.core.thread.JobThread#run]-[194]-[xxl-job, JobThread-14-1698032572739] 
----------- JobThread toStop, stopReason:change job source or glue type, and terminate the old job thread.
2023-10-23 11:43:35 [com.xxl.job.core.thread.JobThread#run]-[204]-[xxl-job, JobThread-14-1698032572739] 
----------- JobThread Exception:java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2088)
	at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
	at com.xxl.job.core.thread.JobThread.run(JobThread.java:114)

----------- xxl-job job execute end(error) -----------

比如需要对local,type关键字进行转义,转义规则如下:

\`local\`,\`type\`

问题解决。

相关推荐
Q264336502315 分钟前
【有源码】基于Python与Spark的火锅店数据可视化分析系统-基于机器学习的火锅店综合竞争力评估与可视化分析-基于用户画像聚类的火锅店市场细分与可视化研究
大数据·hadoop·python·机器学习·数据分析·spark·毕业设计
想ai抽10 小时前
深入starrocks-多列联合统计一致性探查与策略(YY一下)
java·数据库·数据仓库
starfalling102411 小时前
【hive】一种高效增量表的实现
hive
顧棟13 小时前
【Yarn实战】Yarn 2.9.1滚动升级到3.4.1调研与实践验证
hadoop·yarn
D明明就是我16 小时前
Hive 拉链表
数据仓库·hive·hadoop
嘉禾望岗50319 小时前
hive join优化和数据倾斜处理
数据仓库·hive·hadoop
yumgpkpm20 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 数据库汇聚操作指南 CMP(类 Cloudera CDP 7.3)
大数据·hive·hadoop·elasticsearch·zookeeper·big data·cloudera
忧郁火龙果21 小时前
六、Hive的基本使用
数据仓库·hive·hadoop
忧郁火龙果21 小时前
五、安装配置hive
数据仓库·hive·hadoop
chad__chang1 天前
dolphinscheduler安装过程
hive·hadoop