hadoop - 是否可以在Hive中执行按位分组功能?

标签 hadoop hive hiveql

如何在类似于mysql的配置单元查询上执行按位或运算。
例如在mysql中,我们按位或按以下方式执行:
SELECT user_name, BIT_OR(file_permission) FROM user_permission GROUP BY user_name

最佳答案

有一个Bitwise or operator in hive:

A | B

Operand types: All number types

Gives the result of bitwise OR of A and B. The type of the result is the same as the common parent(in the type hierarchy) of the types of the operands.


但是,从您的代码示例来看,您似乎需要一个汇总的按位或函数(UDAF)。这种聚合功能在 hive 中不容易存在。您将必须实现自定义UDAF。
另一个效率较低但更简单的选项:您可以使用collect_list并实现一个简单的UDF,该UDF对数组的所有元素进行按位执行。

关于hadoop - 是否可以在Hive中执行按位分组功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732276/

相关文章:

linux - 设置 (Linux) Hadoop 集群

hadoop - 让 Hadoop 以 Kerberos 用户身份运行

hadoop - 安装和部署CDH

java - hive 服务器未启动

sql - 在配置单元中拆分列

sql - 如何避免Hive中的交叉连接?

java - 内存高效的分布式方法来确定唯一值?

ubuntu - 安装 Hadoop 后无法从 Hue 访问 Hadoop 服务

sql - 在 Hive 中查找 ASCII 值的总和

sql - Hive 相对于同一表中的其他数组列对数组列进行排序