我是 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 ,默认情况下,loads files delimited by tab , 不是逗号。发生的事情是 “Money, coins, loans, debt”
卡在您的第一列 word1
中。当您打印它时,您会产生多列的错觉,但实际上第一列填满了整行,然后其他列为空。
要解决这个问题,您应该指定 PigStorage
通过逗号加载:
A = LOAD '...' USING PigStorage(',') AS (...);
关于hadoop - 使用 PIG 加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8099013/