Apache Pig - 在猪关系中加载时缺少数字数据

Posted

技术标签:

【中文标题】Apache Pig - 在猪关系中加载时缺少数字数据【英文标题】:Apache Pig - Numeric data missing while loading in a pig relation 【发布时间】:2017-02-27 17:59:47 【问题描述】:

我正在学习 Apache Pig。我正在尝试将一些数据加载到猪中。当我在 vi 编辑器中看到 txt 文件时,我找到以下(示例)行。

[雅培、DEEDEE W 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);

但是,当我在分布式环境中对 pig 进行转储时,我发现以下结果(对于上面提到的行):

(雅培,DEEDEE W,9-12年级教师,,0.0,LBOE,亚特兰大独立 学校系统,2010)。

数字数据"52,122.10 " 似乎丢失了。

请帮忙。

【问题讨论】:

文件分隔符是什么?是标签吗? 是 Murali ,它是制表符分隔的。 尝试使用 PigStorage('\t') 加载 【参考方案1】:

PigStorage() 是 pig 的内置函数,它以记录分隔符作为参数。这里是它的标签 --> \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);

【讨论】:

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

以上是关于Apache Pig - 在猪关系中加载时缺少数字数据的主要内容,如果未能解决你的问题,请参考以下文章

无法在猪中处理 Xml

在猪脚本中按日期时间排序

在 Pig 中使用 Hcat Loader 访问在 Hive 中创建的视图

字符串连接在猪中不起作用

pig 未知方法getNewApplication错误

在 Apache Pig 中加载 csv 文件时出错