Hadoop 使用PIG加载文件

Hadoop 使用PIG加载文件,hadoop,apache-pig,Hadoop,Apache Pig,我对猪很陌生,我有一个基本的问题。 我有一行代码如下: A = load 'Sites/trial_clustering/shortdocs/*' AS (word1:chararray, word2:chararray, word3:chararray, word4:chararray); 其中每个文件基本上是一行4个逗号分隔的单词。然而,PIG并没有将其拆分为4个单词。当我把A扔掉时,我得到:(钱、硬币、贷款、债务等) 我尝试过谷歌搜索,但我似乎找不到我的文件需要什么格式,这样

我对猪很陌生,我有一个基本的问题。 我有一行代码如下:

A = load 'Sites/trial_clustering/shortdocs/*'
      AS (word1:chararray, word2:chararray, word3:chararray, word4:chararray);
其中每个文件基本上是一行4个逗号分隔的单词。然而,PIG并没有将其拆分为4个单词。当我把
A
扔掉时,我得到:
(钱、硬币、贷款、债务等)

我尝试过谷歌搜索,但我似乎找不到我的文件需要什么格式,这样PIG才能正确地解释它。请帮忙

默认情况下,你的问题是猪,而不是逗号。发生的事情是,
“钱、硬币、贷款、债务”
被卡在你的第一栏中,
word1
。当您打印它时,您会产生一种错觉,即您有多个列,但实际上第一列是用整行填充的,然后其他列是空的

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

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

非常感谢。这成功了!现在我有一个新问题,如何处理由换行符分隔的文件?我试着感谢你,这是有效的。现在我有一个新问题;对于由新行分隔的文件,a=LOAD'…'使用PigStorage('\n')作为(…);不行!A=也不会使用PigStorage('\\n')作为(…)加载'…';非常感谢。PigStorage将把每一个新行视为另一个元组。无法指定元组上的X行数。