追加columnA到现有的阵列型的B列如何将一列添加到Hive中的现有数组列?
select
string_column_A,
array_column_B,
append(array_column_B, string_column_A) as AB
from onetable;
更精确,我应该说,因为我希望没有重复“设置”,而不是上述的“阵列”,。但是这里的重复并不是什么大问题。
在Hive中实现这一点的最佳方式是什么?我检查了蜂巢文档,但找不到任何相关信息来执行此操作。
这是一个绝妙的主意!但问题是现在它不再是一个数组:select array_contains(array(concat_ws(“,”,“A”,concat_ws(“,”,array('B','C'))),'B') ;返回“假”。 – Osiris
有没有什么办法可以使数组元素唯一?select concat_ws(“,”,“A”,concat_ws(“,”,array('A','C')))will give [ “A”,“A”,“C”]],希望获得[[“A”,“C”]] – Osiris
尝试collect_set(col) https://cwiki.apache.org/confluence/display/蜂巢/ LanguageManual + UDF#LanguageManualUDF,StringFunctions – Dhruv