Hadoop 在ApachePig中,如何按第二个字符对列表进行排序?

Hadoop 在ApachePig中,如何按第二个字符对列表进行排序?,hadoop,apache-pig,Hadoop,Apache Pig,如何按第二个字符对列表进行排序 例如,此列表: apple mango orange 我想按第二个字母排序(按字母顺序) 谢谢 从第一个字段的第二个字符生成第二个字段,然后按第二个字段排序。最后从排序关系中仅获取第一个字段 A = LOAD 'test3.txt' USING PigStorage('\t') as (a1:chararray); B = FOREACH A GENERATE a1,SUBSTRING(a1,1,2) as a2; C = ORDER B BY a2; D =

如何按第二个字符对列表进行排序

例如,此列表:

apple
mango
orange
我想按第二个字母排序(按字母顺序)


谢谢

从第一个字段的第二个字符生成第二个字段,然后按第二个字段排序。最后从排序关系中仅获取第一个字段

A = LOAD 'test3.txt' USING PigStorage('\t') as (a1:chararray);
B = FOREACH A GENERATE a1,SUBSTRING(a1,1,2) as a2;
C = ORDER B BY a2;
D = FOREACH C GENERATE a1;
DUMP D;
输出


从第一个字段的第二个字符生成第二个字段,然后按第二个字段排序。最后从排序关系中仅获取第一个字段

A = LOAD 'test3.txt' USING PigStorage('\t') as (a1:chararray);
B = FOREACH A GENERATE a1,SUBSTRING(a1,1,2) as a2;
C = ORDER B BY a2;
D = FOREACH C GENERATE a1;
DUMP D;
输出

我的数据是

1,The Nightmare Before Christmas
2,The Mummy
3,Orphans of the Storm
4,The Object of Beauty

   A = LOAD '/home/abhijit/Downloads/movies.txt' USING PigStorage(',') as (a1:int,a2:chararray);
   B = FOREACH A GENERATE a2,SUBSTRING(a2,1,2) as a3;
   C = ORDER B BY a3;
   D = FOREACH C GENERATE a2;
   DUMP D;
我的数据是

1,The Nightmare Before Christmas
2,The Mummy
3,Orphans of the Storm
4,The Object of Beauty

   A = LOAD '/home/abhijit/Downloads/movies.txt' USING PigStorage(',') as (a1:int,a2:chararray);
   B = FOREACH A GENERATE a2,SUBSTRING(a2,1,2) as a3;
   C = ORDER B BY a3;
   D = FOREACH C GENERATE a2;
   DUMP D;

我正要回答同样的问题…你先做到了…你可以看到不同之处…:)你值得投票…我在寻找字符串的大小…即长度函数…我想我需要写UDF或什么,我得到了这个…大小函数…:)别担心,我也在学习:)。您可能想编辑您的答案,以便使用$0访问第一个字段。我正要回答相同的问题…您先做了…您可以看到差异…:)您值得投票…我正在寻找字符串的大小…即长度函数…我想我需要编写UDF或其他什么,我得到了这个..大小函数…:)不用担心,我也在学习:)。您可能需要编辑答案,以便使用$0.Ok访问第一个字段。我在这里有我自己的数据…我会粘贴它…所以不会有任何混淆…@好奇的心:这是正确的…还是需要任何修改…我无法测试它:(好的。我在这里有我自己的数据…我会粘贴它…所以不会有任何混淆…@好奇的心:这是正确的…还是需要任何修改…我无法测试它:(