大数据技术架构(组件)14——Hive:掩码函数&杂项函数

1.4.8、掩码函数

1.4.8.1、mask-->Hive2.1.0

1.4.8.12、mask_first_n->Hive2.1.0

1.4.8.13、mask_last_n -->Hive2.1.0

1.4.8.14、mask_show_first_n-->Hive2.1.0

1.4.8.15、mask_show_last_n -->Hive2.1.0

1.4.8.16、mask_hash -->Hive2.1.0

支持版本

返回值类型

函数名称

功能描述

Hive2.1.0

string

mask(string str[, string upper[, string lower[, string number]]])

返回 str 的掩码版本(从 Hive 2.1.0 开始)。默认情况下,大写字母转换为“X”,小写字母转换为“x”,数字转换为“n”。例如 mask("abcd-EFGH-8765-4321") 结果为 xxxx-XXXX-nnnn-nnnn。您可以通过提供附加参数来覆盖掩码中使用的字符:第二个参数控制大写字母的掩码字符,第三个参数控制小写字母,第四个参数控制数字。例如, mask("abcd-EFGH-8765-4321", "U", "l", "#") 结果为 llll-UUUU-####-####

Hive2.1.0

string

mask_first_n(string str[, int n])

返回前 n 个值被屏蔽的 str 的屏蔽版本(从 Hive 2.1.0 开始)。大写字母转换为“X”,小写字母转换为“x”,数字转换为“n”。例如, mask_first_n("1234-5678-8765-4321", 4) 结果为 nnnn-5678-8765-4321

Hive2.1.0

string

mask_last_n(string str[, int n])

返回一个掩码版本的 str 掩码了最后 n 个值(从 Hive 2.1.0 开始)。大写字母转换为“X”,小写字母转换为“x”,数字转换为“n”。例如: mask_last_n("1234-5678-8765-4321", 4) 结果为 1234-5678-8765-nnnn

Hive2.1.0

string

mask_show_first_n(string str[, int n])

返回 str 的掩码版本,显示未掩码的前 n 个字符(从 Hive 2.1.0 开始)。大写字母转换为“X”,小写字母转换为“x”,数字转换为“n”。例如:mask_show_first_n("1234-5678-8765-4321", 4) 结果为 1234-nnnn-nnnn-nnnn

Hive2.1.0

string

mask_show_last_n(string str[, int n])

返回 str 的掩码版本,显示未掩码的最后 n 个字符(从 Hive 2.1.0 开始)。大写字母转换为“X”,小写字母转换为“x”,数字转换为“n”。例如, mask_show_last_n("1234-5678-8765-4321", 4) 结果为 nnnn-nnnn-nnnn-4321

Hive2.1.0

string

mask_hash(string|char|varchar str)

返回基于 str 的散列值(从 Hive 2.1.0)。散列是一致的,可用于跨表将掩码值连接在一起。对于非字符串类型,此函数返回 null。

1.4.9、杂项函数

1.4.9.1、java_method-->Hive0.9.0

 SELECT java_method("java.lang.String", "valueOf", 1),
       java_method("java.lang.String", "isEmpty"),
       java_method("java.lang.Math", "max", 2, 3),
       java_method("java.lang.Math", "min", 2, 3),
       java_method("java.lang.Math", "round", 2.5),
       java_method("java.lang.Math", "exp", 1.0),
       java_method("java.lang.Math", "floor", 1.9)

1.4.9.2、reflect --> Hive0.7.0

SELECT reflect("java.lang.String", "valueOf", 1),
       reflect("java.lang.String", "isEmpty"),
       reflect("java.lang.Math", "max", 2, 3),
       reflect("java.lang.Math", "min", 2, 3),
       reflect("java.lang.Math", "round", 2.5),
       reflect("java.lang.Math", "exp", 1.0),
       reflect("java.lang.Math", "floor", 1.9)

1.4.9.3、hash --> Hive0.4

select hash('asfsd');

1.4.9.4、current_user --> Hive1.2.0

select current_user();

1.4.9.5、logged_in_user --> Hive2.2.0

1.4.9.6、current_database -->Hive0.13.0

select current_database();

1.4.9.7、md5 -->Hive1.3.0

select md5('234');

1.4.9.8、sha1 --> Hive1.3.0

1.4.9.9、crc32 --> Hive1.3.0

1.4.9.10、sha2-->Hive1.3.0

1.4.9.11、aes_encrypt --> Hive1.3.0

1.4.9.12、version --> Hive2.1.0

1.4.9.13、surrogate_key

支持版本

返回值类型

函数名称

功能描述

Hive0.9.0

varies

java_method(class, method[, arg1[, arg2..]])

反射

Hive0.7.0

varies

reflect(class, method[, arg1[, arg2..]])

使用反射通过匹配参数签名来调用 Java 方法。

Hive0.4

int

hash(a1[, a2...])

返回参数的哈希值。 (从 Hive 0.4 开始)

Hive1.2.0

string

current_user()

从配置的身份验证器管理器返回当前用户名(从 Hive 1.2.0)。可能与连接时提供的用户相同,但对于某些身份验证管理器(例如 HadoopDefaultAuthenticator),它可能不同。

Hive2.2.0

string

logged_in_user()

从会话状态返回当前用户名(从 Hive 2.2.0)。这是连接到 Hive 时提供的用户名。

Hive0.13.0

string

current_database()

返回当前数据库名称(从 Hive 0.13.0 开始)

Hive1.3.0

string

md5(string/binary)

计算字符串或二进制的 MD5 128 位校验和(从 Hive 1.3.0 开始)。该值作为 32 个十六进制数字的字符串返回,如果参数为 NULL,则返回 NULL。示例:md5('ABC') = '902fbdd2b1df0c4f70b4a5d23525e932'

Hive1.3.0

string

sha1(string/binary)

sha(string/binary)

计算字符串或二进制的 SHA-1 摘要并将值作为十六进制字符串返回(从 Hive 1.3.0)。示例:sha1('ABC') = '3c01bdbb26f358bab27f267924aa2c9a03fcfdb8'

Hive1.3.0

bigint

crc32(string/binary)

计算字符串或二进制参数的循环冗余校验值并返回 bigint 值(从 Hive 1.3.0)。示例:crc32('ABC') = 2743272264。

Hive1.3.0

string

sha2(string/binary, int)

计算 SHA-2 系列哈希函数(SHA-224、SHA-256、SHA-384 和 SHA-512)(从 Hive 1.3.0 开始))。第一个参数是要散列的字符串或二进制文件。第二个参数表示结果的所需位长,其值必须为 224、256、384、512 或 0(相当于 256)。从 Java 8 开始支持 SHA-224。如果任一参数为 NULL 或哈希长度不是允许的值之一,则返回值为 NULL。示例:sha2('ABC', 256) = 'b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78'

Hive1.3.0

binary

aes_encrypt(input string/binary, key string/binary)

使用 AES 加密输入(从 Hive 1.3.0 开始)。可以使用 128、192 或 256 位的密钥长度。如果安装了 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files,则可以使用 192 和 256 位密钥。如果任一参数为 NULL 或密钥长度不是允许的值之一,则返回值为 NULL。示例:base64(aes_encrypt('ABC', '1234567890123456')) = 'y6Ss+zCYObpCbgfWfyNWTw=='。

Hive1.3.0

binary

aes_decrypt(input binary, key string/binary)

使用 AES 解密输入(从 Hive 1.3.0 开始)。可以使用 128、192 或 256 位的密钥长度。如果安装了 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files,则可以使用 192 和 256 位密钥。如果任一参数为 NULL 或密钥长度不是允许的值之一,则返回值为 NULL。示例:aes_decrypt(unbase64('y6Ss+zCYObpCbgfWfyNWTw=='), '1234567890123456') = 'ABC'。

Hive2.1.0

string

version()

返回 Hive 版本(从 Hive 2.1.0 开始)。该字符串包含 2 个字段,第一个是内部版本号,第二个是内部版本哈希。示例:select version()可能会返回“2.1.0.2.5.0.0-1245 r027527b9c5ce1a3d7d0b6d2e6de2378fb0c39232”。实际结果将取决于您的构建

bigint

surrogate_key([write_id_bits, task_id_bits])

当您将数据输入表格时,自动为行生成数字 ID。只能用作酸表或仅插入表的默认值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mylife512

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值