使用PIG加载文件

时间:2011-11-11 19:36:01

标签: hadoop apache-pig

我对PIG很新,我感觉自己是一个非常基本的问题。 我有一行代码如下:

A = load 'Sites/trial_clustering/shortdocs/*'
      AS (word1:chararray, word2:chararray, word3:chararray, word4:chararray);

其中每个文件基本上是一行4个逗号分隔的单词。然而,PIG并没有把它分成4个单词。当我转储A时,我得到:(Money, coins, loans, debt,,,) 我试过谷歌搜索,我似乎无法找到我的文件需要的格式,以便PIG将正确解释它。请帮忙!

1 个答案:

答案 0 :(得分:25)

你的问题是,默认情况下,猪loads files delimited by tab,而不是逗号。发生了什么"Money, coins, loans, debt"卡在第一列word1中。当你打印它时,你会觉得你有多个列,但实际上第一个用你的整行填充,然后其他的都是空的。

要解决此问题,您应指定PigStorage以逗号加载:

A = LOAD '...' USING PigStorage(',') AS (...);