Hadoop Pig - 简单负载的 EOF 异常

Posted

技术标签:

【中文标题】Hadoop Pig - 简单负载的 EOF 异常【英文标题】:Hadoop Pig - EOF Exception over simple load 【发布时间】:2015-04-01 22:40:20 【问题描述】:

我正在处理一个 14 个 csv 文件的项目。其中 10 个正确加载到猪中。 4不要。

当我精确确定架构中列的类型时会出现问题:如果我加载具有列名的文件,但没有类型转换(即:所有列默认为 'bytearray'),我没有问题:数据加载。

但如果我精确列类型(并且我只要求'chararray'),我得到一个'EOF'异常错误。当列中的字段为空时,错误似乎随机出现。 奇怪的是,同一个文件可以在没有类型转换的情况下完美加载,如果我精确地进行“chararray”转换,则不会加载。此外,我可以在其他 csv 文件中加载空列(无论是否转换列)。

这可能是什么起源?

我在某处读到 hive 环境配置可能会弄乱 pig。我正在使用 Yarn、Mesos、Docker、Marathon:那里有任何干扰吗? (但是当我只是在本地模式下使用 grunt 时,全局会发生错误)。

【问题讨论】:

你能分享示例输入文件吗?有时会在文件末尾没有换行时发生 【参考方案1】:

我终于发现我已经激活了pig.schematuple 选项,这是一个实验性选项,并创建了一个错误:当超过 9 列时文件不加载,并且单元格为空(它确实加载如果少于 9 列,则为空单元格)。

在一次实验中损失了 2 个工作日 :-s

【讨论】:

以上是关于Hadoop Pig - 简单负载的 EOF 异常的主要内容,如果未能解决你的问题,请参考以下文章

将 Hadoop Pig 输出作为 JSON 数据发布到 URL?

Pig 无法处理大文件

[db] hadoop && pig

Hadoop之Pig

Pig:使用 AvroStorage 加载会引发“无法从 loadFunc 获取架构”异常

Hadoop学习笔记—16.Pig框架学习