为什么在Apache Pig中使用DUMP命令后我的csv数据没有显示?

时间:2018-03-16 22:48:05

标签: csv apache-pig

我是猪的新手,有以下问题。我正在尝试使用CSVLoader在Pig中加载一个小的csv文件(10行和22列数据),并通过DUMP命令显示其中4列的值。
我正在使用的代码如下:

grunt>A = LOAD ’/vagrant/test.csv’ USING CSVLoader(’,’) AS (Id:int, PostTypeId:int, AcceptedAnswerId:int, ParentId:int, CreationDate:datetime, DeletionDate:datetime, Score:int, ViewCount:int, Body:chararray, OwnerUserId:int, OwnerDisplayName:chararray, LastEditorUserId:int, LastEditorDisplayName: chararray, LastEditDate:datetime, LastActivityDate:datetime, Title:chararray, Tags:chararray, AnswerCount:int, CommentCount:int, FavoriteCount:int, ClosedDate:chararray);

grunt>B = FOREACH A GENERATE Id,PostTypeId, OwnerUserId,Title;
grunt>DUMP B;

我收到了返回的前两个项目(IdPostTypeId),但其他两个项目都是null。例如,一行可以显示为“(2003505,1 ,,)”我的DUMP输出中有多行显示“(,,,,),即完全为null。所以尽管在DUMP输出中只需要10行,但我实际上得到了117行,其中大多数只是空值!下面的代码段。

DUMP功能的示例输出代码:

我检查了架构与输入数据,但在字符类型方面看不到任何不匹配。

Q1。在输出行中,我得到了一些数据但不是全部(“(2003505,1 ,,)”) - 为什么我会丢失数据? Q2。为什么有多行只显示“(,,,)”?

感谢您的帮助。

0 个答案:

没有答案