0
我收到以下错误: 解析期间出错。重复约束更具限制性:不能将需要的二进制MyTime类型合并到可选的二进制MyTime中。 也许其中一个文件已损坏,但我不知道如何跳过它。Parquetloader:无法使用猪加载多个镶木地板文件
感谢
我收到以下错误: 解析期间出错。重复约束更具限制性:不能将需要的二进制MyTime类型合并到可选的二进制MyTime中。 也许其中一个文件已损坏,但我不知道如何跳过它。Parquetloader:无法使用猪加载多个镶木地板文件
感谢
读取在他们的模式略有不同的元数据的多个拼花文件时,会出现这种情况。要么你在一个目录中有混合的文件集合,要么你给这个LOAD
声明一个glob,并且在这方面得到的文件集合是混合的。
而不是在AS()
子句中指定的模式或使裸调用加载函数的溶液是重写该例在装载器函数的参数的模式:
data = LOAD 'data'
USING parquet.pig.ParquetLoader('n1:int, n2:float, n3:double, n4:long')
否则加载函数推断来自它遇到的第一个文件的模式,然后与其他文件冲突。
如果在架构规范中尝试使用bytearray
类型,然后在随后的FOREACH
中转换为所需类型,仍然有问题。
根据Parquet source code还有一个加载函数的参数,它允许根据位置而不是名称来指定列(默认值),但我没有尝试过。
参见http://www.ericlin.me/unable-to-read-parquet-files-with-same-schema-and-different-flags-in-pig –