【问题标题】:Pig ERROR 1075: Received a bytearray from the UDF. Cannot determine how to convert the bytearray to stringPig ERROR 1075:从 UDF 接收到一个字节数组。无法确定如何将字节数组转换为字符串
【发布时间】:2017-02-15 03:42:15
【问题描述】:

我是猪新手。我在数据集中有一些数据,如下所示。

数据:

(U,Y,,,,,,)
(U,U,U,U,W,,,)
(U,U,U,U,U,Y,,)

我需要将其转换为单独的组行,不包括空白字段。

输出应该如下所示

(U,10)
(Y,2)
(W,1)

我已经尝试了下面的代码。

B = foreach data generate FLATTEN(TOBAG(*)) as leads;

在上述语句之后,所有列都转换为具有一个字段的行,我想过滤空白行。所以我使用下面的。

C= FILTER B BY leads != '';

但它给出了以下错误

Pig ERROR 1075:从 UDF 接收到一个字节数组。无法确定 如何将字节数组转换为字符串

我什至尝试如下转换为 chararray。

C= FILTER B BY (chararray)leads != '';

但它不起作用。

【问题讨论】:

    标签: apache-pig bigdata


    【解决方案1】:

    无需强制转换。这将起作用。在 $0 和 COUNT($0) 分组之后得到输出。

    C = FILTER B BY leads is not null;
    

    D = GROUP C BY $0;
    E = FOREACH D GENERATE group,COUNT(C);
    DUMP E;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-28
      • 1970-01-01
      • 2022-01-23
      • 2019-12-10
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多