1

我有一个 Hdfs 文件,它有 6 列,其中包含存储在 Hbase 表中的一些数据。数据看起来像这样 -

18.98   2000             1.21   193.46  2.64        58.17
52.49   2000.5   4.32           947.11  2.74        64.45
115.24  2001             16.8   878.58  2.66        94.49
55.55   2001.5   33.03  656.56  2.82        60.76
156.14  2002             35.52  83.75   2.6     59.57
138.77  2002.5   21.51  105.76  2.62        85.89
71.89   2003             27.79  709.01  2.63        85.44
59.84   2003.5   32.1           444.82  2.72        70.8
103.18  2004             4.09   413.15  2.8     54.37

现在我必须把每条记录连同它接下来的 4 条记录一起做一些处理(例如,在第一次拍摄中我必须拍摄记录 1-5,在下一次拍摄中我必须拍摄 2-6 等等)。 .我正在尝试为此使用 TOP,但出现以下错误 -

2012-05-21 17:04:30,328 [main] 错误 org.apache.pig.tools.grunt.Grunt - 错误 1200:Pig 脚本无法解析:标量投影无效:参数:需要从关系中投影列将其用作日志文件中的标量详细信息:/home/mohammad/pig-0.9.2/logs/pig_1337599211281.log

我正在使用以下命令 -

grunt> a = load 'hbase://logdata'
>> using org.apache.pig.backend.hadoop.hbase.HBaseStorage(
>> 'cf:DGR cf:HD cf:POR cf:RES cf:RHOB cf:SON', '-loadKey true') 
>> as (id, DGR, HD, POR, RES, RHOB, SON);
grunt> b = foreach a { c = TOP(5,3,a);
>> generate flatten(c);
>> }

谁能告诉我如何做到这一点????非常感谢。

4

0 回答 0