hive 处理敏感字段

背景:

近日,接到一需求,需要过滤到客户地址(去掉单元楼层等敏感信息),如“北京市朝阳区北辰西路北辰世纪中心A座16层”,只提供“北京市朝阳区北辰西路北辰世纪中心”。

此类需求,除了通过java程序编写UDF实现,也通过hive原生函数regexp_replace也可以实现。

regexp_replace函数说明:

注意,过滤地址关键点:regexp_replace(address,‘正则表达式内容(\\d+号楼|\\d+单元|\\d+号|\\w座|.....)‘,‘‘)

1、正则表达式内容可以根据需求灵活确定;

2、需要使用到转义字符\\;

3、此类需求,也可以参考regexp_extract函数。

实例:

SELECT

address

, regexp_replace(regexp_replace(address,‘办公|塔楼|房间|主卧|次卧|左侧|右侧|前面|后面|商铺|厂房|大厅|前台|对面|旁边|部队|分队|侧门|-|。|,|,|‘,‘‘),‘\\d+号楼|\\d+单元|\\d+巷|\\d+号|\\d+旁|\\d+门|\\d+层|\\d+楼|\\d+室|\\d+座|\\d+栋|\\d+幢|\\d+队|\\d+房|\\d+户|\\d+东|\\d+西|\\d+南|\\d+北|\\d+仓|\\d+弄|\\d+副|\\d+附|\\d+组|\\d+班|\\d+年|\\d+处|\\d+院|\\w座|\\w区|\\w\\d+|a-zA-Z|‘,‘‘)

FROM

tmp_dev.address_lxt_20140209;

结果:

From:My E-mail share,Hive函数regexp_replace应用分享,2015/2/10 (周二) 15:20

时间: 2024-08-15 04:10:02

hive 处理敏感字段的相关文章

Hive 处理敏感字段 字符串替换

使用regexp_replace格式: regexp_replace(address,"正则表达式","替代字符") (1)匹配所有字符: select regexp_replace(address, '.*', '***') from table; (2)匹配指定字符: select regexp_replace('2016-06-05', '-', '') from table; (3)匹配特殊字符(换行符): select regexp_replace(nam

imperva—waf 敏感字段显现

imperva WAF中看到的日志内容信息有些都是敏感的  比如登录登出的信息 如何调整敏感信息的现实方式,并可以自定义敏感字段? 这里添加字段就可以了 这样就将******转变为明文了 原文地址:https://www.cnblogs.com/shiguangliangchunshanbo/p/9835916.html

[Hive]Hive分区表新增字段

一直没有尝试,被分区的概念吓到了,今天尝试了下,很简单 hive (default)> desc pms.test_cross_sale_path; OK col_name data_type comment path_id string visit_track_id string visit_product_id bigint visit_category_id bigint visit_brand_id bigint rcmd_track_id string rcmd_product_id

关于带分区hive表添加字段如何避免插入的新字段数据为null

第一步:在hive元数据中的sds表找到字段增加后新分配的字段组ID(CD_ID,表的所有字段对应一个CD_ID字段值),如:SELECT * FROM sds WHERE location LIKE '%table_name%' 第二步:在SDS表中可以看到新分配的字段组值(CD_ID).已有分区所对应的旧字段组值ID(CD_ID),在该表中把旧的CD_ID值更新为新的CD_ID值即可,如:UPDATE SDS SET CD_ID=NEW_CD_ID(所找到的新值) WHERE CD_ID=O

Hive:map字段存储和取用 ( str_to_map函数 )

str_to_map(字符串参数, 分隔符1, 分隔符2) 使用两个分隔符将文本拆分为键值对. 分隔符1将文本分成K-V对,分隔符2分割每个K-V对.对于分隔符1默认分隔符是 ',',对于分隔符2默认分隔符是 '='. 例子: 1. 创建map字段 DROP TABLE IF EXISTS tmp.tmp_str_to_map; CREATE TABLE IF NOT EXISTS tmp.tmp_str_to_map ( ocolumn string comment '原始字段', rcolu

Hadoop Hive sql语法详解

Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据.而mapreduce开发人员可以把己写的mapper 和reducer 作为插件来支持

Hive 的简单使用及调优参考文档

Hive 的简单使用及调优参考文档 ? HIVE的使用 命令行界面 使用一下命令查看hive的命令行页面, hive --help --service cli 简化命令为hive –h 会输出下面的这些东西 -d,--define <key=value> Variable subsitution to apply to hive commands. e.g. -d A=B or --define A=B --database <databasename> Specify the d

Hive基础之各种排序的区别

order by 1.order by会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局排序): 只有一个reducer会导致当输入规模较大时,需要较长的计算时间,速度很非常慢: 2.hive.mapred.mode(默认值是nonstrict)对order by的影响 1)当hive.mapred.mode=nonstrict时,order by和关系型数据库中的order by功能一致,按照指定的某一列或多列排序输出: 2)当hive.mapred.mode=st

Hive sql 语法解读

一. 创建表 在官方的wiki里,example是这种: Sql代码 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name,