如何在类似于mysql的配置单元查询上执行按位OR。 例如,在mysql中,我们按位执行或执行:
SELECT user_name, BIT_OR(file_permission) FROM user_permission GROUP BY user_name
答案 0 :(得分:0)
有一个Bitwise or operator in hive:
A | B
操作数类型:所有数字类型
给出A和B的按位OR结果。结果的类型与操作数类型的公共父类型(在类型层次结构中)相同。
但是,从您的代码示例中,您似乎需要一个聚合的Bitwise或函数(UDAF)。这种聚合功能在蜂巢中不易存在。您必须实现自定义UDAF。
效率较低但更简单的另一个选项:您可以使用collect_list
并实现一个简单的UDF,它可以按位执行或对数组的所有元素执行。