【问题标题】:need to construct 3 lists from 3 columns in a HIVE UDF需要从 HIVE UDF 中的 3 列构建 3 个列表
【发布时间】:2026-01-12 12:05:02
【问题描述】:

我是蜂巢新手。我在编写 HIVE UDF 时遇到了麻烦,其中我将 3 个参数作为 3 列传递给 UDF。我需要用列值构造 3 个列表。基于此,我将对 3 个列表执行我的逻辑并为每条记录返回一个字符串。

我的代码必须是这样的。

  public String evaluate(int column1, int column2, String column3){

 ArryList column1List //column1List has to all column1 values
 ArryList column2List //column2List has to all column2 values
 ArryList column3List //column3List has to all column3 values


 }

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: java hadoop hive


    【解决方案1】:

    如果我正确解释了您的意图,您可以使用 Hive 的内置函数 collect_list 来执行此操作。例如:

    SELECT collect_list(field1) FROM my_table;
    

    这将组装出现在my_tablefield1 列中的所有值的列表。

    根据您需要对这些列表执行的操作,您可能会发现将 collect_list 的结果简单地传递到您的 UDF 会更容易(因为它们已经是列表)。

    更多文档在这里:

    https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

    【讨论】:

      最近更新 更多