Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 如何使用REGEXP\u REPLACE屏蔽配置单元中的列?_Hive_Masking - Fatal编程技术网

Hive 如何使用REGEXP\u REPLACE屏蔽配置单元中的列?

Hive 如何使用REGEXP\u REPLACE屏蔽配置单元中的列?,hive,masking,Hive,Masking,我正在尝试使用regexp\u replace来实现以下对配置单元中地址字段的屏蔽要求 如果我有一个地址字段,我需要在1,4,8,12..etc(4的倍数)位置保留字符,并将剩余字符替换为“X”,应保留空格 我在Teradata中实现了这一结果,但使用相同的函数和参数与HiveSQL进行了斗争 Teradata代码: SELECT RegExp_Replace(RegExp_Replace( RegExp_Replace ('CHANGI COURT', '(.)(.)?(.)?(.)?',

我正在尝试使用regexp\u replace来实现以下对配置单元中地址字段的屏蔽要求

如果我有一个地址字段,我需要在1,4,8,12..etc(4的倍数)位置保留字符,并将剩余字符替换为“X”,应保留空格

我在Teradata中实现了这一结果,但使用相同的函数和参数与HiveSQL进行了斗争

Teradata代码:

SELECT 
RegExp_Replace(RegExp_Replace(
RegExp_Replace
('CHANGI COURT', '(.)(.)?(.)?(.)?', '(\1(\2[\3(\4', 2,0,'c'),'(\([^ ])', 'X', 1,0,'c'),'(\(|\[)', '', 1,0,'c');
Teradata结果按预期工作:

CXXNXX CXXXT

配置单元代码:

SELECT 
RegExp_Replace(RegExp_Replace(
RegExp_Replace
('CHANGI COURT', '(.)(.)?(.)?(.)?', '(\1(\2[\3(\4', 2,0,'c'),'(\([^ ])', 'X', 1,0,'c'),'(\(|\[)', '', 1,0,'c');
蜂巢错误

失败:SemanticException[错误10014]:第1行:37错误的参数“c”: 类org.apache.hadoop.hive.ql.udf.UDFRegExpReplace没有匹配的方法 with(string,string,string,int,int,string)。可能的选择: FUNC(字符串,字符串,字符串)(状态=42000,代码=10014)

我还附上了Hive和Teradata的代码截图和结果

Teradata代码:

SELECT 
RegExp_Replace(RegExp_Replace(
RegExp_Replace
('CHANGI COURT', '(.)(.)?(.)?(.)?', '(\1(\2[\3(\4', 2,0,'c'),'(\([^ ])', 'X', 1,0,'c'),'(\(|\[)', '', 1,0,'c');

Teradata结果:

配置单元代码:

配置单元错误:


这能在蜂箱中实现吗?

@halfer。。这是正确的teradata代码似乎在teradata中为我提供了所需的输出,但当我在hive中运行相同的代码时,它失败了。。所以我想知道是否有其他方法可以在蜂箱中实现这一点。希望这能澄清…@halfer。。我把所有细节都编辑好了我的问题。。希望它足够。我肯定会确保下次我发布或编辑时遵循论坛的格式规则。。。如果你对是否能在蜂箱中实现这一点有任何想法,请让我知道。。谢谢问题已经解决了,解决方案是什么?你可以把自己的答案作为解决方案,并接受它。这样,对社区也会有帮助。