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
我正在处理一个包含 14 个 csv 文件的项目。其中 10 个在猪中正确加载。 4个不要。
当我精确确定模式中列的类型时出现问题:如果我使用列名加载文件,但没有类型转换(即:所有列默认为 'bytearray'),我没有问题:数据被加载。
但是如果我精确列类型(并且我只要求 'chararray'),我会得到一个 'EOF' 异常错误。当列中的字段为空时,错误似乎随机出现。 奇怪的是同一个文件可以在没有类型转换的情况下完美加载,而如果我精确地进行 'chararray' 转换则不会加载。此外,我可以在其他 csv 文件中加载空列(有或没有转换列)。
那可能是什么起源?
我在某处读到 Hive 环境配置可能会弄乱 pig。我正在使用 Yarn、Mesos、Docker、Marathon:那里有任何干扰吗? (但在全球范围内,错误发生在我仅在本地模式下使用 grunt 时)。
我终于发现我已经激活了 pig.schematuple
选项,这是一个实验性的选项,并产生了一个错误:当超过 9 列时文件不会加载,并且单元格为空(如果少于 9 列,它会加载空单元格)。
实验损失了 2 个工作日:-s