标签:聚合 string HIVE 分隔符 字符串 array 优化 col CONCAT
行转列
① CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串;
② CONCAT_WS(separator, str1, str2,...):
·它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。
·分隔符可以是与剩余参数一样的字符串。
·如果分隔符是 NULL,返回值也将为 NULL。
·这个函数会跳过分隔符参数后的任何 NULL 和空字符串。
·分隔符将被加到被连接的字符串之间;
·注意: CONCAT_WS must be "string or array<string>
③ COLLECT_SET(col):
·函数只接受基本数据类型
·它的主要作用是将某字段的值进行去重汇总,产生array类型字段。
④ COLLECT_LIST(col):
·函数指接收基本数据类型
·它的主要作用是将某字段的值进行不去重汇总,产生array类型字段。
列转行
① EXPLODE(collection):将hive表的一列中复杂的array或者map结构拆分成多行。
② SPLIT(string str, string regex): 按照regex字符串分割str,会返回分割后的字符串数组
③ LATERAL VIEW
用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias
解释:用于和split, explode等UDTF一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。lateral view首先为原始表的每行调用UDTF,UDTF会将一字段拆分成一行 或者多行,lateral view再把结果组合,产生一个支持别名表的虚拟表。
标签:聚合,string,HIVE,分隔符,字符串,array,优化,col,CONCAT 来源: https://www.cnblogs.com/averyve/p/16585648.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。