这是最愚蠢的问题,但无论如何,我只是在做测试,也在学习apache pig。我正在使用 sudo vim i n ubuntu 创建样本数据,如(1,2,3)。当我打了咕噜声并运行当地猪模式。 出于某种原因,当我尝试转储变量时,它是空的。
data
(1,2,3)
A = load 'data' as (f1:int)
Dump A
result
()
但是当我使用chararray时,我可以看到结果。 有什么问题 。我是否必须使用不同的编辑器(如cat)创建样本数据。任何想法
A = load 'data' as (F1:chararray)
Dump A
result
(1,2,3)
答案 0 :(得分:0)
问题是您的输入数据格式。如果您想要三个带整数的列,则文件内容应如下所示:
1,2,3
注意没有牙箍。 Pig添加了大括号以表明它是一个元组。使用chararray时它起作用的原因是它将(1,2,3)
解释为一个字符串(另一方面它不能转换为整数)
然后加载就像这样:
A = load 'data' as (c1:int, c2:int, c3:int);