0

我需要编写一个接口,将包中的单个项目折叠成一个字符串。示例:{(a),(b)} 转换为 ab。

首先,可以使用代数接口返回字符串还是仅限于整数(Long)。

其次,是否有一个地方可以让我访问一些使用代数的示例(除了我随处可见的 COUNT 示例)。

只要回答是否可以使用代数来处理字符串,并让我知道是否有一个好地方可以让我看到一些现有的 UDF 代码(不是那些完全解决我的问题的代码)。

这些是我尝试过的事情:

  1. 谷歌搜索任何适用于包的 UDF 代码。除了随处发布的 COUNT 示例之外,没有得到任何东西
  2. 在 Pig 中尝试不同的选项。显然你不能取消引用一个包里的个别物品,这很糟糕。
4

1 回答 1

0

最后这是我想出来的:

  1. 如果您的问题可以通过 JOIN 像 GROUP 一样有效地解决,那么您应该这样做。GROUP 制造的袋子更难处理。

  2. 您没有义务使用 ALGEBRAIC 来处理行李。相反,您可以只编写一个 EVAL UDF。但是,如果您的包尺寸很大,它会慢得多。

于 2013-03-13T17:07:18.283 回答