我需要使用拼图文件来做一些分析,并用信息丰富它们。但是,由于列数据类型不兼容(无符号整数),我无法执行任何操作。
我尝试使用Apache-drill,但是当我想要执行一些查询时,同样的错误也出现了。
下面是我想要开始使用的查询和错误消息:SELECT * from dfs.'/home/artyom/addresses.parquet' LIMIT 5;
Error: INTERNAL_ERROR ERROR: Error in parquet record reader.
Message:
Hadoop path: /home/artyom/addresses.parquet/part.0.parquet
Total records read: 0
Row group index: 0
Records in row group: 34369585
Parquet Metadata: ParquetMetaData{FileMetaData{schema: message schema
{
optional binary ip (UTF8);
optional int64 ip_id (UINT_64);
optional int32 reputation (UINT_8);
optional int32 confidence (UINT_8);
optional float queries_ratio;
(...)
}但是像这样的查询:SELECT ip from dfs.'/home/artyom/addresses.parquet' LIMIT 5;或SELECT queries_ratio from dfs.'/home/artyom/addresses.parquet' LIMIT 5;非常有用。只有unsigned integers列有问题。
我阅读了apache-drill文档中关于转换数据类型的内容,并尝试了几种方法,但都没有成功。
谁能帮我解决这个问题,告诉我有没有办法把UINT_X转换成兼容的整数类型?从无符号整数到整数的转换对于数据来说不是问题。我只需要了解如何修改拼图文件的列数据类型。非常感谢!
发布于 2019-05-17 17:00:29
您能澄清一下,您使用的是哪个版本的Drill吗?看起来读取UINT类型的问题在DRILL-4764和DRILL-5971的作用域中得到了修复。
因此,它应该可以在Drill 1.14和更高版本上工作。
发布于 2019-10-04 20:55:19
作为解决办法,可以使用另一个拼图阅读器:use store.parquet.use_new_reader = true;。默认阅读器的问题将在Drill 1.17.0中修复(有关详细信息,请参阅https://issues.apache.org/jira/browse/DRILL-5983 )。
https://stackoverflow.com/questions/56147235
复制相似问题