Hadoop apachepig中的解组

Hadoop apachepig中的解组,hadoop,mapreduce,apache-pig,Hadoop,Mapreduce,Apache Pig,Apache Pig是否支持解组操作?我想没有。有人能帮我解决这个问题吗? 我有一排表格 1,a-b-c 2,d-e-f 3,g-h 我想把它扩展到表单 1,a 1,b 1,c 2,d 2,e 2,f 3,g 3,h 感谢您的帮助。您可能应该使用内置的STRSPLIT将第二个字段拆分为多个标记,然后应用展平为每个元素创建一行。大概是这样的: A = LOAD 'input.txt' as (id, data); B = FOREACH A GENERATE id, FLATTEN(STRS

Apache Pig是否支持解组操作?我想没有。有人能帮我解决这个问题吗? 我有一排表格

1,a-b-c
2,d-e-f
3,g-h
我想把它扩展到表单

1,a
1,b
1,c
2,d
2,e
2,f
3,g
3,h

感谢您的帮助。

您可能应该使用内置的
STRSPLIT
将第二个字段拆分为多个标记,然后应用
展平
为每个元素创建一行。大概是这样的:

A = LOAD 'input.txt' as (id, data);

B = FOREACH A GENERATE id, FLATTEN(STRSPLIT(data,'-'));

您可能应该使用内置的
STRSPLIT
将第二个字段拆分为多个标记,然后应用
flatte
为每个元素创建一行。大概是这样的:

A = LOAD 'input.txt' as (id, data);

B = FOREACH A GENERATE id, FLATTEN(STRSPLIT(data,'-'));

STRSPLIT返回一个元组而不是一个包,它不会将数据值透视到行中,最终将得到与输入数据相同数量的元组。为了得到你想要的结果,你可以看看,只要试一下就行了。将“-”替换为空格,然后标记化,因为它返回一个包,并在展平后创建枢轴行。B=为每个A生成id,展平(标记化(替换(数据“-”,”);STRSPLIT返回一个元组而不是一个包,它不会将数据值透视到行中,最终将得到与输入数据相同数量的元组。为了得到你想要的结果,你可以看看,只要试一下就行了。将“-”替换为空格,然后标记化,因为它返回一个包,并在展平后创建枢轴行。B=为每个A生成id,展平(标记化(替换(数据“-”,”);