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\`

问题解决。

相关推荐
隐于花海,等待花开8 小时前
COLLECT_LIST函数详解
hive
隐于花海,等待花开9 小时前
数据开发常问的技术性问题及解答
大数据·hive
曹宇飞丶10 小时前
ambari server及元数据库(postgreSQL)迁移
hadoop·ambari
隐于花海,等待花开16 小时前
窗口函数之排序函数详细解读及示例
大数据·数据库·hive
数字化顾问16 小时前
(87页PPT)数据战略规划(附下载方式)
大数据·数据仓库·数据挖掘
隐于花海,等待花开17 小时前
Hive 正则函数详解与示例
数据仓库·hive·hadoop
隐于花海,等待花开17 小时前
Hive专题:数据开发面试高频题(TopN、留存、连续登录等)
hive·hadoop·面试
木心术120 小时前
大数据处理技术:Hadoop与Spark核心原理解析
大数据·hadoop·分布式·spark
SelectDB技术团队1 天前
基于 SelectDB 实现 Hive 数据湖统一分析:洋钱罐全球一体化探索分析平台升级实践
数据仓库·数据分析·apache doris·selectdb
爱喝水的鱼丶2 天前
SAP-ABAP:深入浅出 SAP AFVC 表:生产订单工序的核心数据仓库
运维·服务器·数据仓库·sap·abap·pp