Sorting 猪拉丁语排序

Sorting 猪拉丁语排序,sorting,apache-pig,hadoop2,Sorting,Apache Pig,Hadoop2,我正在测试Apache Pig文档中的以下示例: 但排序功能似乎不起作用。有什么想法吗 $ pig -version Apache Pig version 0.14.0 (r1640057) compiled Nov 16 2014, 18:02:05 grunt> a= load 'data' as (c1:int, c2:int, c3:int); grunt> describe a; a: {c1: int,c2: int,c3: int} grunt> dump

我正在测试Apache Pig文档中的以下示例:

但排序功能似乎不起作用。有什么想法吗

$ pig -version
Apache Pig version 0.14.0 (r1640057) 
compiled Nov 16 2014, 18:02:05


grunt> a= load 'data' as (c1:int, c2:int, c3:int);
grunt> describe a;
a: {c1: int,c2: int,c3: int}
grunt> dump a;
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)
grunt> result = order a by c1 desc;
grunt> dump result; 
(8,4,3)
(8,3,4)
(4,3,3)
(4,2,1)
(1,2,3)
(7,2,5)
grunt> result = order a by c2 desc;
grunt> dump result;
(8,4,3)
(7,2,5)
(4,2,1)
(1,2,3)
(4,3,3)
(8,3,4)
grunt> result = order a by c3 desc;
grunt> dump result;                
(7,2,5)
(4,3,3)
(8,4,3)
(1,2,3)
(4,2,1)
(8,3,4)

您正在使用默认的分隔符(
tab
)加载数据,但实际输入数据的分隔符不正确。您能否确保您的输入数据字段由文件
'data'
中的制表符分隔

在下面的示例中,每个输入字段由制表符及其工作区分隔

data:
1<TAB>2<TAB>3
4<TAB>2<TAB>1
8<TAB>3<TAB>4
4<TAB>3<TAB>3
7<TAB>2<TAB>5
8<TAB>4<TAB>3

grunt> a= load 'data' as (c1:int, c2:int, c3:int);
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)
grunt> result = order a by c1 desc;
grunt> dump result;
(8,3,4)
(8,4,3)
(7,2,5)
(4,2,1)
(4,3,3)
(1,2,3)
grunt> result = order a by c2 desc;
grunt> dump result;
(8,4,3)
(8,3,4)
(4,3,3)
(1,2,3)
(4,2,1)
(7,2,5)
grunt> result = order a by c3 desc;
grunt> dump result; 
(7,2,5)
(8,3,4)
(1,2,3)
(4,3,3)
(8,4,3)
(4,2,1)
数据:
123
421
834
433
725
843
grunt>a=加载“数据”为(c1:int,c2:int,c3:int);
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)
grunt>result=按c1描述的顺序a;
grunt>转储结果;
(8,3,4)
(8,4,3)
(7,2,5)
(4,2,1)
(4,3,3)
(1,2,3)
grunt>result=按c2描述的顺序a;
grunt>转储结果;
(8,4,3)
(8,3,4)
(4,3,3)
(1,2,3)
(4,2,1)
(7,2,5)
grunt>result=按c3描述的顺序a;
grunt>转储结果;
(7,2,5)
(8,3,4)
(1,2,3)
(4,3,3)
(8,4,3)
(4,2,1)