gpt4 book ai didi

hadoop - 将 pig 元组的元素转换为行

转载 作者:行者123 更新时间:2023-12-02 21:05:43 25 4
gpt4 key购买 nike

我正在尝试转换输入数据,如下所示:

Id,Name,Types,Code
1, A, a1;a2;a3, 101
2, B, b1;b2, 202
...

变成一个扁平的结构,其中类型被分成几行,例如:
1, A, a1, 101
1, A, a2, 101
1, A, a3, 101
2, B, b1, 202
2, B, b2, 202
...

我在这里尝试过的是在StrSplit之后得到一个元组,然后尝试将其转换为BAG,然后可以将其展平成单独的行。
input_data = LOAD '/user/gjhawar/latestSkillMappedEn.csv' USING PigStorage('|') AS
(
id : chararray,
name : chararray,
type: chararray,
code : chararray);

a = LIMIT input_data 10;

b = FOREACH a GENERATE (id, name, code), BagToString(TOBAG(STRSPLIT (type,'\\u003B',100)), ' ') as newCategoryName:chararray;

最佳答案

分号作为定界符会有问题。用其他替换它,标记化并展平。

http://www.hadooplessons.info/2015/01/word-count-in-pig-latin.html

flattened_input_data = FOREACH a GENERATE skillId, skillName, matchType, culture, FLATTEN(TOKENIZE(REPLACE(categoryName,'\\u003B', '|'), '|')) as newCategoryName;

关于hadoop - 将 pig 元组的元素转换为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42015529/

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