【问题标题】:Error querying parquet files with Apache-Drill : Error in parquet record reader使用 Apache-Drill 查询镶木地板文件时出错:镶木地板记录阅读器出错
【发布时间】:2019-10-02 11:21:46
【问题描述】:

我需要使用 parquet 文件来进行一些分析并用信息丰富它们。但是,由于列数据类型(无符号整数)不兼容,我无能为力。

我尝试使用 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; 这样的查询就像一个魅力。 只有无符号整数列有问题。

我阅读了有关转换数据类型的 apache-drill 文档并尝试了几件事,但没有成功。

有人可以帮我解决这个问题并告诉我是否有办法将 UINT_X 转换为兼容的 INTEGER 类型?从无符号整数到整数的转换对数据来说不是问题。 我只需要了解如何修改 parquet 文件的列数据类型。非常感谢!

【问题讨论】:

    标签: parquet apache-drill


    【解决方案1】:

    能否请您澄清一下,您使用的是哪个版本的 Drill?看起来读取 UINT 类型的问题已在 DRILL-4764DRILL-5971 的范围内修复。

    所以它应该适用于 Drill 1.14 及更高版本。

    【讨论】:

    • 我正在使用 1.16.0 版本,这是我所说的最后一个可用版本。我认为您提到的修复 DRILL-4764 和 DRILL-597 涉及有符号整数而不是无符号整数。在有关问题的 cmets 中,人们使用 UINT 附加文件以表明它们不受支持。
    • 感谢您澄清您使用的是最新版本。我尝试读取附加到 DRILL-4764 的镶木地板文件,Drill 能够毫无问题地读取它们。您能否将查询失败的示例文件分享到 DRILL-5983 中。
    • 是我把你搞砸了。这是一个好消息,但这让我的问题更加陌生。恐怕我无法共享该文件,因为它太重并且可能包含我不允许共享的信息。我可以从中创建一个示例文件,但即使我已经尝试了很多次,我也不知道如何使用 Parquet 文件。
    • 您可以尝试使用 java 代码生成 parquet 文件。例如,您可以使用此类:github.com/apache/drill/blob/…
    【解决方案2】:

    作为一种解决方法,可以使用另一个 Parquet 阅读器:use store.parquet.use_new_reader = true;。 默认阅读器的问题将在 Drill 1.17.0 中修复(详见https://issues.apache.org/jira/browse/DRILL-5983)。

    【讨论】:

      猜你喜欢
      • 2021-03-19
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2018-12-20
      • 2018-08-13
      • 1970-01-01
      相关资源
      最近更新 更多