gpt4 book ai didi

apache-pig - 将分隔字符数组扩展为多个元组

转载 作者:行者123 更新时间:2023-12-03 19:22:18 26 4
gpt4 key购买 nike

我的关系中的一列包含分隔值(例如 csv),我想将它们分解为这些值,以便我在每个值的关系中都有一个条目(与具有原子值的其他列组合)。例如,如果我有以下数据:

SomeID|Age|CommaSeperatedNames
1 |23 |Steve,Joe,Bob
2 |26 |Dan,Mike,Tom

我希望由此产生的关系包含:
SomeID|Age|Names
1 |23 |Steve
1 |23 |Joe
1 |23 |Bob
2 |26 |Dan
2 |26 |Mike
2 |26 |Tom

这可以仅使用 PigLatin 和内置/存钱 jar UDFS 来完成吗?注意:我有一个涉及我编写的 UDF 的 hacky 解决方案,我想知道这是否可以仅使用 Pig。

最佳答案

TOKENIZE 将把你的名字分成一个袋子。那么,如果您 FLATTEN , 在包上,它会一行一行地把它分开。如 TOKENIZE不会标记您想要的方式(它应该可以用逗号正常工作),您可能必须编写某种 UDF 来写出一个包。

A = LOAD ... USING PigStorage('|') AS (SomeID, Age, Names);    
B = FOREACH A GENERATE SomeID, Age, FLATTEN(TOKENIZE(Names)) as Name;
C = STORE B INTO ...;

关于apache-pig - 将分隔字符数组扩展为多个元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com