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?