hive中分号字符引起的异常

2024-05-30 08:08
文章标签 异常 字符 引起 hive 中分

本文主要是介绍hive中分号字符引起的异常,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在使用正则表达式时候解析数据时候,由输入带有分号的字符串引起的异常错误

select regexp_extract(reflect("java.net.URLDecoder", "decode", event),';price=(\\d+-\\d+)(&|;)',1) from page_url;select ';price=(\\d+-\\d+)(&|;)';

hive日志中报出<EOF>字符异常

NoViableAltException(-1@[])at org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser.selectClause(HiveParser_SelectClauseParser.java:1089)at org.apache.hadoop.hive.ql.parse.HiveParser.selectClause(HiveParser.java:45886)at org.apache.hadoop.hive.ql.parse.HiveParser.selectStatement(HiveParser.java:41503)at org.apache.hadoop.hive.ql.parse.HiveParser.regularBody(HiveParser.java:41410)at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpressionBody(HiveParser.java:40421)at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpression(HiveParser.java:40291)at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1598)at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1117)at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:202)at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:426)at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:314)at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1164)at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1212)at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1101)at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1091)at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:216)at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:168)at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:379)at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:739)at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:684)at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:624)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:497)at org.apache.hadoop.util.RunJar.run(RunJar.java:221)at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
FAILED: ParseException line 1:8 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in select clause

将分号; 进行ASCII码转换输入,分号对应ascii为59

hive> > > select concat('\073price=(\\d+-\\d+)(&|\073)' ); 
OK
;price=(\d+-\d+)(&|;)
Time taken: 0.064 seconds, Fetched: 1 row(s)


ASCII码对应参照表:http://tool.oschina.net/commons?type=4

这篇关于hive中分号字符引起的异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1015962

相关文章

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

Python中异常类型ValueError使用方法与场景

《Python中异常类型ValueError使用方法与场景》:本文主要介绍Python中的ValueError异常类型,它在处理不合适的值时抛出,并提供如何有效使用ValueError的建议,文中... 目录前言什么是 ValueError?什么时候会用到 ValueError?场景 1: 转换数据类型场景

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

详解Python中通用工具类与异常处理

《详解Python中通用工具类与异常处理》在Python开发中,编写可重用的工具类和通用的异常处理机制是提高代码质量和开发效率的关键,本文将介绍如何将特定的异常类改写为更通用的ValidationEx... 目录1. 通用异常类:ValidationException2. 通用工具类:Utils3. 示例文

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Thymeleaf:生成静态文件及异常处理java.lang.NoClassDefFoundError: ognl/PropertyAccessor

我们需要引入包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>sp