Hadoop Pig - 简单负载的 EOF 异常

Hadoop Pig - EOF Exception over simple load

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

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

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

那可能是什么起源?

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

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

实验损失了 2 个工作日:-s