2016-01-24 105 views
0

我使用Apache的猪脚本错误加载猪脚本

cat data15.txt 
1,(2,3) 
2,(3,4) 


grunt>a = load 'nikhil/data15.txt' using PigStorage(',') as (x:int, y:tuple(y1:int,y2:int)); 

grunt>dump a; 

(1,) 

(2,) 
+0

代码格式的[Apache的猪不能充分解析的元组] – Cristik

+0

可能的复制(http://stackoverflow.com/questions/8838408/apache-pig-not-parsing-a-tuple-fully) – madbitloman

回答

0

我知道有困难装载数据,为时已晚来回答这个
的问题是,元组和其他领域具有相同的分隔符为“ “。猪无法进行模式转换。 你可以尝试这样的事情
您需要更改分隔符

1:(-5,7,7-三)
3:(7,9,4)
5:(5,9,7)

并运行猪脚本

A = load 'file.txt' using PigStorage(':') as (t1:int,t2:tuple(x:int,y:int,z:int)); dump A;

输出是

(1,(-5,7,7-))
(3,(7,9,4))
(5,( 5,9,7))

您可以使用输入文件中的sed命令更改分隔符,然后加载文件。