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

问题解决。

相关推荐
Theodore_10228 小时前
大数据(2) 大数据处理架构Hadoop
大数据·服务器·hadoop·分布式·ubuntu·架构
簌簌曌9 小时前
CentOS7 + JDK8 虚拟机安装与 Hadoop + Spark 集群搭建实践
大数据·hadoop·spark
Theodore_102211 小时前
大数据(1) 大数据概述
大数据·hadoop·数据分析·spark·hbase
IvanCodes13 小时前
六、Sqoop 导出
大数据·hadoop·sqoop
workflower14 小时前
以光量子为例,详解量子获取方式
数据仓库·人工智能·软件工程·需求分析·量子计算·软件需求
weixin_4723394615 小时前
Doris查询Hive数据:实现高效跨数据源分析的实践指南
数据仓库·hive·hadoop
火龙谷16 小时前
【hadoop】相关集群开启命令
大数据·hadoop·分布式
神奇侠20241 天前
Hive SQL常见操作
hive·hadoop·sql
SelectDB技术团队1 天前
从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
大数据·数据仓库·clickhouse·kylin·实时分析
itachi-uchiha2 天前
Docker部署Hive大数据组件
大数据·hive·docker