hadoop - 使用 PIG 加载文件

标签 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 能够正确解释它。请帮忙!

最佳答案

你的问题是 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/

相关文章:

hadoop - 需要帮助在 aws 中设置 hadoop 集群

hadoop - hbase 设计连接长键值对与多列

scala - 使用 SBT 离线解决 org.apache.hadoop 依赖性的错误

hadoop - 使用 Hadoop 查找两个数据集的差异

hadoop - 使用 Pig 加载默认转储文件

Pig 中的 Python UDF

jython - 使用 Pig 和 Python

Hadoop Map-Reduce : what you can tell about a state: mappers: 80%, reducer :20%

java - 象鸟mvn包报错

hadoop - 在 Pig 中执行 JOIN 和 FILTER 后出现 "Invalid scalar projection"错误