使用PIG加载文件

Yul*_*Pro 9 hadoop apache-pig

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

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

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

Don*_*ner 25

你的问题是,默认情况下,Pig 加载由制表符分隔的文件,而不是逗号.正在发生的事情是"Money, coins, loans, debt"陷入第一栏,word1.当你打印它时,你会觉得你有多个列,但实际上第一个用你的整行填充,然后其他的都是空的.

要解决此问题,您应指定PigStorage通过以下操作加载逗号:

A = LOAD '...' USING PigStorage(',') AS (...);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你这工作。现在我有一个新问题;我似乎无法使用由新行分隔的文件 A = LOAD '...' USING PigStorage('\n') AS (...); 不起作用!A = LOAD '...' USING PigStorage('\\n') AS (...); 谢谢! (2认同)