以下是内置表生成函数(UDTF,Built-in Table-Generating Functions),普通的用户定义函数(例如concat())接受单个输入行并输出单个输出行。 相反,表生成函数将单个输入行转换为多个输出行。
返回行集类型 |
语法 |
功能描述 |
---|---|---|
int,T | posexplode(ARRAY<T> a) |
使用 int 类型的附加位置列(项目在原始数组中的位置,从 0 开始)将数组分解为多行。返回一个包含两列(pos、val)的行集,数组中的每个元素对应一行。 |
string1,...,stringn |
json_tuple(string jsonStr,string k1,...,string kn) |
获取 JSON 字符串和一组 n 个键,并返回一个包含 n 个值的元组。这是 |
string 1,...,stringn |
parse_url_tuple(string urlStr,string p1,...,string pn) |
获取 URL 字符串和一组 n 个 URL 部分,并返回一个包含 n 个值的元组。这类似于 |
T |
explode(ARRAY<T> a) |
将数组分解为多行。返回一个包含单列(col)的行集,数组中的每个元素对应一行。 |
T1,...,Tn |
inline(ARRAY<STRUCT<f1:T1,...,fn:Tn>> a) |
将结构数组分解为多行。返回一个包含 N 列(N=结构中顶级元素的数量)的行集,数组中每个结构一行。 (Hive 0.10. 开始支持) |
T1,...,Tn/r | stack(int r,T1 V1,...,Tn/r Vn) |
分解 n 个值 V1,...,Vn 到 r 个行 。每行都有 n/r 列,r 必须是常数。 |
Tkey,Tvalue |
explode(MAP<Tkey,Tvalue> m) |
将 map 结构分解为多行。返回一个包含两列 (key,value) 的行集,输入映射中的每个键值对对应一行。(Hive 0.8.0.开始支持) |
更新时间:2024-11-23 15:21:01 标签:正则表达式 正则