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(name,‘\\\\n‘,‘‘) from table;

例子:

SELECT  concat(SUBSTR(user_log_acct, 1, 6), ‘*****‘) AS user_log_acct  -- 只保留前六位,后面脱敏

SELECT  regexp_replace(scene, ‘@@‘, ‘_‘) AS scene  -- 替换指定的字符串

  

原文链接:https://blog.csdn.net/lhxsir/article/details/90374941

原文地址:https://www.cnblogs.com/Allen-rg/p/12196156.html

时间: 2024-08-27 13:34:57

Hive 处理敏感字段 字符串替换的相关文章

hive 处理敏感字段

背景: 近日,接到一需求,需要过滤到客户地址(去掉单元楼层等敏感信息),如"北京市朝阳区北辰西路北辰世纪中心A座16层",只提供"北京市朝阳区北辰西路北辰世纪中心". 此类需求,除了通过java程序编写UDF实现,也通过hive原生函数regexp_replace也可以实现. regexp_replace函数说明: 注意,过滤地址关键点:regexp_replace(address,'正则表达式内容(\\d+号楼|\\d+单元|\\d+号|\\w座|.....)',

MySQL批量替换指定字段字符串

MySQL批量替换是我们经常会用到的功能,有时站内包含敏感词,会给我们带来麻烦,而在信息量较大的情况下,一篇篇查找.修改是不现实的. 用MySQL批量替换,甚是轻松.发布在这里供参考,以备不时之需. MySQL批量替换指定字段字符串语句 UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件; 比如本站今天发现站内关于linux命令的文章 标题不是太好,以前都是以 linux下mkdir命令使用详解---linux创建目录命

批量替换某个表中的字段字符串

declare @curTable nvarchar(500), @FilterStr nvarchar(500);--过滤字符串 字符串及之后的数据将被替换为空 set @FilterStr='<'; set @curTable='B07'; DECLARE @SQLList nvarchar(4000), @tableName VARCHAR(10), @name VARCHAR(10), @type VARCHAR(10); set @SQLList=''; BEGIN -- 定义游标.

ETL工具kettle的几个小插件(字符串替换,字段选择,将字段值设置为常量)

继续给大家介绍几个小组件:一.字符串替换这个功能类似于oracle的replace函数,就是将某个字段的某些字符替换成我们给定的字符首先,选择[输入流字段],[输出流字段]自己命名(就是用来保存处理后的结果的字段,可以和输入流字段保持一致),可以选择[使用正则表达式],[搜索]就是你希望被替换的字符.字符串,可以是一个正则表达式,[使用,,,替换]就是你期望用什么值替换被替换的部分,[设置为空串]就是将被选择的部分用空替换,[使用字段值替换]你可以使用现有的某个字段的值替换你期望被替换的部分,后

字典树的基础,以及在实际项目中对于敏感词的替换的应用

最近刷题时连续遇到两道字典树的题目,所以做一下这个数据结构的总结. 首先什么叫做字典树? 叫 是 我   想 看 听 这种树结构并且把文字或者英文放在里面组成的叫做字典树. 那么字典树有什么用呢? 通过几道题目的练习我发现,字典树主要应用在,对于字符串的分级匹配和查询. 比如在我们如果有三句话,1:我是人,2:我是男人,3:我是中国人 如果一般的我们用三个字符串去存放他们,然后当我们要寻找在这些字符串中是否存在我是中国人的时候,那么就需要一句句匹配过来,如果有1000条这样的数据,那么匹配的速度

sed 字符串替换

1. sed替换的基本语法为: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义. 2. 单引号” ‘ ’”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,格式如下: # 要处理的字符包含单引号sed "s/原字符串包含'/替换字符串包含'/" 3. 命令中的三根斜线分隔符可以换成别的符号,有时候替换目录字符串的时候有较多斜线,这个时候换成其它的分割符是较为方便,只需要紧跟s定义即

.Net字符串替换

在.Net中,有些地方需要进行字符的替换才能实现一些相关功能,这里是一个简单的字符串替换的方法 //如下,变量strWhere中是通过一些方法获取的sql拼接的条件语句,但在数据库中是多表查询,有同名字段,这样PERSONNAME就会未命名定义,而无法获取数据,在数据库中就会用字段所在的表名'T'标识出来(T.PERSONNAME),而在.Net中strWhere是固定获取的,所以此处就需要字符串替换,Replace()方法 string strWhere=(AND PERSONNAME='zh

java indexof、BigDecimal、字符串替换

自我总结,有什么需要改正弥补的地方,请指出,感激不尽! 本次总结了indexof的用法,BigDecimal的乘法.移位运算,Decimal的格式化输出,字符串替换 上代码: 测试类 Test.java package com.core; import java.io.IOException; import java.math.BigDecimal; import java.text.DecimalFormat; import java.util.regex.Matcher; import ja

Oracle 字段拆分替换在合并成一条

看了网上很多Oracle字段拆分的实例,但是都未能完全满足要求,或许是我水平不够未能很好的理解,如果有大神懂得并且愿意告知我的,可以私信我,在这里真诚的感谢! 1. 首先建立表并插入测试数据 drop table col_split; create table col_split ( var_id varchar2(6), var_value varchar2(80) ); 1--insert into col_split values('101001','spt001,spt2,spt3,sp