这是我的代码和错误,在hadoop上使用pig,有人有什么好主意吗?谢谢。
-- ({(3),(4),(1),(2),(7),(5),(6)},{(1),(3),(5),(12)})
A = load 'input.txt' AS (B1:bag{T:tuple(val:int)},B2:bag{T:tuple(val:int)});
DUMP A.B1;
DUMP A.B2;
[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during parsing. Encountered " <PATH> "A.B1 "" at line 4, column 6.
Was expecting:
<IDENTIFIER> ...
提前谢谢你,林
2条答案
按热度按时间qzlgjiam1#
清管器不支持转储a.b1和转储a.b2。这里b1,b2是属性a中的包,就像关系中的两列一样,我们不能用“dump”操作符转储关系中的列。
如果要对关系的列执行任何操作,可以使用
FOREACH
以及GENERATE
关系运算符。X = FOREACH A GENERATE B1.$0;
({(3),(4),(1),(2),(7),(5)})Y = FOREACH A GENERATE B2.$0;
({(1),(3),(5),(12)})oknwwptz2#
你的问题是
DUMP A.B1
不是有效的pig语法。如果你只想拿出第一个袋子,B1
然后您需要创建一个只生成该包的新关系(对于第二个包也是如此)。