使用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将正确解释它。请帮助!

您的问题是Pig,默认情况下,加载以制表符分隔的文件,而不是逗号。现在的情况是"Money, coins, loans, debt"卡在了你的第一列word1中。当您打印它时,您会产生有多个列的错觉,但实际上第一个列填充了整行,然后其他列为空。

要解决这个问题,您应该通过逗号指定PigStorage加载:

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

最新更新