`
dacoolbaby
  • 浏览: 1254270 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hive使用regexp,RLIKE需要使用转义字符

    博客分类:
  • Hive
阅读更多

使用Hive做数据清洗,经常需要使用正则表达式。

 

比较讨厌的是,正则表达式匹配失败的时候,hive完全不会报错。

原来的写法

SELECT * from ahhs_product_info where product_name NOT RLIKE '([\u4e00-\u9fa5])+' ;

 

在hive里面的写法

SELECT * from ahhs_product_info where product_name NOT RLIKE '([\\u4e00-\\u9fa5])+' ;

 

另外用到了Hive的正则表达式提取数据的函数,regexp_extract()

用法如下:

regexp_extract(string subject, string pattern, int index)

通过下标返回正则表达式指定的部分。regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 2) returns ‘bar.’

 

注意,这里的index指的是:返回所有匹配的第N个。只有当匹配成功的对象>=2的时候,index可以选1,2。一般情况下是0.

如:

select uid,
      visittime,
      pageUrl,
      r_id,
      regexp_extract(pageUrl,'(?<=p-)\\d+(?=\\.html)',0) as pid
from sitevisitlog
where statdate='20141021'

--根据URL提取产品ID的使用

 

使用了转义字符,就可以正常地识别正则表达式了。

正则表达式的强大功能比Oracle的LIKE牛逼多了!!

 

 

分享到:
评论
1 楼 jackhong1108 2017-06-06  
你可能只知道Oracle有like,不知道Oracle有其他的正则函数

相关推荐

    presto和hive的使用区别

    Hive是把一个查询转化成多个MapReduce任务,然后一个接一个执行。执行的中间结果通过对磁盘的读写来同步。然而,Presto没有使用MapReduce,它是通过一个定制的查询和执行引擎来完成的。它的所有的查询处理是在内存中...

    Hive使用手册Hive使用手册

    1 Hive 概念与连接使用: 2 2 Hive支持的数据类型: 2 2.1原子数据类型: 2 2.2复杂数据类型: 2 2.3 Hive类型转换: 3 3 Hive创建/删除数据库 3 3.1创建数据库: 3 3.2 删除数据库: 3 4 Hive 表相关语句 3 4.1 Hive ...

    云计算HIVE使用.docx

    云计算HIVE使用 云计算HIVE使用云计算HIVE使用云计算HIVE使用云计算HIVE使用云计算HIVE使用云计算HIVE使用云计算HIVE使用

    hive jdbc 连接所需要的jar包

    hive jdbc 连接所需要的所有jar包,很全的,不需要再下载其他的

    连接Hive相关Jar包(DBeaver和JDBC均可使用)

    DBeaver连接Hive的Jar包,通过Java JDBC连接Hive同样可以使用。 DBeaver连接Hive的Jar包,通过Java JDBC连接Hive同样可以使用。

    hive和oracle函数对照表.xlsx

    包含hive和oracle的常用函数对比关系表,可以用于查询hive函数转换成oracle函数,或者oracle函数转换hive函数之间的相互转换。

    Hive3.1.2编译源码

    使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...

    hive搭建及使用入门简介(内含PPT、各种表创建sql及hive搭建使用笔记)

    适用人群:hive学习童鞋,hive方面从业人员 从hive的搭建 到 hive的分区表/内部表/外部表/分桶等sql讲解

    hive metastore java api使用

    hive metastore是hive的元数据管理服务,实际应用中很多第三方框架需要访问metastore服务,如spark,impala等。同样hive metastore也提供了java接口。 使用 import org.apache.hadoop.hive.conf.HiveConf; import org...

    hive建立JDBC连接需要的驱动jar包

    这是用于与HIVE建立JDBC连接的驱动jar包,经过测试,是可以使用的。

    idea 集成使用 hive 需要导入的jar包.rar

    intellij idea集成apache Hive 用到的jar包

    hive

    hive hive hive hive hive hive hive hive hive hive hive hive

    kittle连接hive需要的jar包

    这是kittle连接hive所需要的驱动包,其中包括hive-*,hadoop-*,mysql--*

    利用Hive进行复杂用户行为大数据分析及优化案例

    04_HIve中的case when、cast及unix_timestamp的使用 05_复杂日志分析-需求分析 06_复杂日志分析-需求字段讲解及过滤 07_复杂日志分析-字段提取及临时表的创建 08_复杂日志分析-指标结果的分析实现 09_Hive中数据文件...

    Hive开发规范及要点

    Hive开发规范及要点,hql 开发基础知识,规范

    ascii码 与 字符串 相互转化

    ascii码 与 字符串 相互转化 ascii码 与 字符串 相互转化 ascii码 与 字符串 相互转化

    hive UDF需要jar包

    hive编写 udf 至少需要引入的jar包:hive-exec-xxx.jar 和 hadoop-core-xxx.jar

    Hive用户指南(Hive_user_guide)_中文版.pdf

    在启动 Client 模式的时候, 需要指出 Hive Server 所在节点,并且在该节点启动 Hive Server 。 WUI 是通过浏览器访问 Hive 。 2、 Hive 将元数据存储在数据库中,如 mysql 、 derby 。 Hive 中的元数据包括表的...

    Hive使用手册1

    Hive 使用手册内部技术文档 2015 年夏版本修改历史版本作者描述日期丁晔磊第一版目录Hive 基本概念 4HDFS 基本配置 5Yarn 基本配置 6Ya

    hive实验报告.docx

    完成Hive工具的安装和配置 Hive工具能够正常启动运行 Hive控制台命令能够正常使用 够正常操作数据库,表,数据

Global site tag (gtag.js) - Google Analytics