2017-02-27 62 views
0

我正在学习Apache Pig。我正试图将一些数据加载到猪身上。当我在vi编辑器中看到txt文件时,找到以下(示例)行。Apache Pig - 在猪关系中加载时丢失的数字数据

[ABBOTT,DEEDEE W GRADES 9-12老师52,122.10 0 LBOE 亚特兰大独立学校系统2010]。

我使用以下命令将数据加载到猪关系中。

A = LOAD 'salaryTravelReport_sample.txt' USING PigStorage() as (name:chararray, 
prof:chararray,max_sal:float,travel:float,board:chararray,state:chararray,year:int); 

然而,当我在分布式环境中做一个转储猪,我发现下面的结果(该行上述):

(ABBOTT,迪迪W,9 - 12年级TEACHER,0.0,LBOE,ATLANTA INDEPENDENT SCHOOL SYSTEM,2010)。

数字数据"52,122.10 "似乎缺失。

请帮忙。

+0

什么是文件分隔符?它是标签吗? –

+0

是Murali,它是制表符分隔的。 – Nemichandra

+0

尝试使用PigStorage加载('\ t') –

回答

0

PigStorage()是猪的内置函数,它以记录分隔符为参数。这里它的标签 - > \ t

A = LOAD 'salaryTravelReport_sample.txt' USING PigStorage('\t') as (name:chararray, 
prof:chararray,max_sal:float,travel:float,board:chararray,state:chararray,year:int); 
+0

感谢您的帮助。它工作得很好。 – Nemichandra

+0

@Nemichandra:如果有帮助,你可以接受这个答案。 –