Parquet 使用Apache Drill查询拼花文件时出错:拼花记录读取器中出错
我需要使用拼花文件,以便做一些分析,并丰富他们的信息。但是,由于不兼容的列数据类型(无符号整数),我无法执行任何操作 我尝试使用ApacheDrill,但当我想要执行一些查询时,也会出现相同的错误 以下是我想开始使用的查询和错误消息:Parquet 使用Apache Drill查询拼花文件时出错:拼花记录读取器中出错,parquet,apache-drill,Parquet,Apache Drill,我需要使用拼花文件,以便做一些分析,并丰富他们的信息。但是,由于不兼容的列数据类型(无符号整数),我无法执行任何操作 我尝试使用ApacheDrill,但当我想要执行一些查询时,也会出现相同的错误 以下是我想开始使用的查询和错误消息:SELECT*from dfs./home/artyom/addresses.parquet“LIMIT 5 Error: INTERNAL_ERROR ERROR: Error in parquet record reader. Message: Hadoop
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;
(...)
}
但是像这样的查询:从dfs选择ip./home/artyom/addresses.parquet“限制5代码>或从dfs中选择查询比率。'/home/artyom/addresses.parquet'限制5代码>像魅力一样工作。
只有无符号整数列有问题
我阅读了有关转换数据类型的apache drill文档,并尝试了几种方法,但都没有成功
有没有人能帮我一下,告诉我是否有办法将UINT_X转换成兼容的整数类型?对于数据来说,从无符号整数到整数的转换不会有问题。
我只需要了解如何修改拼花地板文件的列数据类型。非常感谢 请您澄清一下,您使用的是哪个版本的钻机?看起来读取UINT类型的问题已在和的范围内修复
因此,它应该适用于演练1.14及更高版本。作为一种解决方法,可以使用另一个拼花读取器:使用store.Parquet.use\u new\u reader=true代码>。
默认读卡器的问题将在Drill 1.17.0中修复(有关详细信息,请参阅)。我使用的是1.16.0版,这是我所说的最后一个可用版本。我认为您提到的修复DRILL-4764和DRILL-597涉及有符号整数,而不是无符号整数。在有关问题的评论中,人们附上了UINT文件,以表明他们不受支持。感谢您澄清您使用的是最新版本。我试着阅读DRILL-4764附带的拼花地板文件,DRILL能够毫无问题地阅读它们。你能把查询失败的示例文件分享到DRILL-5983中吗?是我帮你的。这是一个好消息,但这使我的问题更加奇怪。我恐怕无法共享该文件,因为它太重,可能包含不允许共享的信息。我可以从中创建一个示例文件,但我不知道如何使用拼花文件,即使我已经尝试了很多次。您可以尝试使用java代码生成拼花文件。例如,您可以使用此类: