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

相关文章

Docker启动异常

报错信息: failed to start daemon: Error initializing network controller: error creating default "bridge" network: cannot create network b8fd8c684f0ba865d4a13d36e5282fd694bbd37b243c7ec6c9cd29416db98d4b (d

剑指offer(C++)--第一个只出现一次的字符

题目 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). class Solution {public:int FirstNotRepeatingChar(string str) {map<char, int> mp;for(int i = 0; i < str.size(); ++i)m

BD错误集锦9——查询hive表格时出错:Wrong FS: hdfs://s233/user/../warehouse expected: hdfs://mycluster

集群环境描述:HDFS集群处于HA模式下,同时启动了YARN\JN\KAFKA\ZK。 现象: FAILED: SemanticException Unable to determine if hdfs://s233/user/hive/warehouse/mydb.db/ext_calllogs_in_hbase is encrypted: java.lang.IllegalArgument

BD错误集锦1——[Hive]ERROR StatusLogger No log4j2 configuration file found. Using default configuration:

错误描述:在使用IDEA进行jdbc方式连接到hive数据仓库时,出现以下错误:                ERROR StatusLogger No log4j2 configuration file found. 问题原因:缺少log4j2.xml文件   <?xml version="1.0" encoding="UTF-8"?><Configuration><Appender

linux匹配Nginx日志,某个字符开头和结尾的字符串

匹配 os=1 开头, &ip结尾的字符串 cat 2018-06-07.log | egrep -o ‘os=1.*.&ip’ 存入日志。然后使用submit 前面和后面的值去掉,剩下就是需要的字符串。 cat 2018-06-07.log | egrep -o ‘os=1.*.&ip’ >log.log

由于jdk版本问题引起的Unsupported major.minor version 52.0

tomcat启动报错 错误日志信息: 三月 01, 2019 9:47:02 下午 org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring root WebApplicationContext 三月 01, 2019 9:47:08 下午 org.apache.catalina.core.Standard

已解决javax.management.BadStringOperationException异常的正确解决方法,亲测有效!!!

已解决javax.management.BadStringOperationException异常的正确解决方法,亲测有效!!! 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 分析错误日志 检查字符串值合法性 确认字符串格式 优化代码逻辑 增加输入验证和错误处理 总结 博主v:XiaoMing_Java 问题分析 javax.manag

C语言中的字符输入/输出和验证输入

在C语言中,字符输入/输出功能允许程序与用户进行交互,读取用户的输入信息并展示输出结果。同时,验证输入的作用在于确保用户输入的数据符合预期,以提高程序的稳定性和可靠性,防止无效输入引发的错误或异常行为,从而提供更好的用户体验。 基础概念 输入(Input):指的是向程序填充数据的过程,通常来源于用户输入、文件读取或其他外部数据源。 输出(Output):指的是将数据显示在屏幕上、打印机上或

一次OOM引起的优化

一次OOM引发的优化 最近在自己研究一个应用,功能简单,所以就想在ui上面下些功夫。 关于界面的想法: 页面A对某一类型的数据项进行增删改,存入数据库中。页面B对数据库中现存的数据项放入自定义View中进行显示(一条数据和一个view是对应的),从而实现一种类似Metro风格的布局。 实施 自定义View不是很难,算是初学,所以在数据适配显示、尺寸计算方面耽误了一些时间。原来的想法