Osi*_*ris 1 hadoop hive hiveql
例如,交叉点
select intersect(array("A","B"), array("B","C"))
Run Code Online (Sandbox Code Playgroud)
应该返回
["B"]
Run Code Online (Sandbox Code Playgroud)
和工会
select union(array("A","B"), array("B","C"))
Run Code Online (Sandbox Code Playgroud)
应该返回
["A","B","C"]
Run Code Online (Sandbox Code Playgroud)
在 Hive 中实现此目的的最佳方法是什么?我已经检查了配置单元文档,但找不到任何相关信息来执行此操作。
您的问题解决方案就在这里。去githubLink,有很多udf是klout创建的。下载、打包 JAR 并将 JAR 添加到配置单元中。例子
CREATE TEMPORARY FUNCTION combine AS 'brickhouse.udf.collect.CombineUDF';
CREATE TEMPORARY FUNCTION combine_unique AS 'brickhouse.udf.collect.CombineUniqueUDAF';
select combine_unique(combine(array('a','b','c'), array('b','c','d'))) from reqtable;
OK
["d","b","c","a"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11064 次 |
| 最近记录: |