【发布时间】:2013-09-03 20:48:41
【问题描述】:
使用 Pig 0.8.1 和我可用的数据结构/格式,是否有可行的方法(使用 UDF 或最好是本机)将 Pig/Hadoop 中的字段转换为分组元组?我有一个外国 ID 列表,如果我可以拆分/评估数据,我可以将其映射到并替换为更具描述性的文本。
示例:
| TYPE | JOINED IDS | ...
| some text | [] | ...
| more text | [123] | ...
| even more | [123,456] | ...
如果我能够获取 field2 并 [以某种方式] 将其分解,我想我应该能够对查找表使用 JOIN。如果我的查找表的结构是这样的。 . .
| ID | DESCRIPTION |
| 123 | foo |
| 456 | bar |
我想返回我的值接近:
| TYPE | JOINED IDS | JOINED TEXT | ...
| some text | [] | [] | ...
| more text | [123] | [foo] | ...
| even more | [123,456] | [foo,bar] | ...
我已经简要研究了TOKENIZE,并通过一些正则表达式替换(即使用现有的 UDF)将文本转换为元组,但我不知道这是否是最好的方法,如果这是甚至我一开始想做的事情。谢谢!
【问题讨论】:
-
您能否提供
DESCRIBE的输出,用于您想要进行 JOIN 的两个输入?答案会因架构而异。 -
数据类型?假设所有字段都是 CHARARRAY。 ID 可能是 INT。
-
JOINED IDS字段下的我的值是文字“[123,456]”
标签: apache-pig user-defined-functions