Presto odbc 无法读取 HIVE 中的时间戳字段

Posted

技术标签:

【中文标题】Presto odbc 无法读取 HIVE 中的时间戳字段【英文标题】:Presto odbc failing to read timestamp fileds in HIVE 【发布时间】:2020-10-27 05:52:29 【问题描述】:

我正在使用 presto ODBC 将数据从 Hive 提取到其中一个 BI 工具中,但是,查询失败并出现以下错误。请您帮我了解可能是什么问题。

ODBC 版本:Simba Presto ODBC 驱动程序 1.02.09.1009

使用的 sql:从 stg_tables.vend 中选择 created_ts

Jul 07 08:07:03.919 ERROR 500 Statement::SQLPrepareW: [Simba][Presto] (1070) 未知 Presto 数据类型:timestamp(3)

如果我使用下面的 SQL,它会很好。 从 stg_tables.ven 中选择 to_iso8601(created_ts AT TIME ZONE 'UTC')

【问题讨论】:

【参考方案1】:

Presto 的最新版本增加了对可变精度时间戳类型的支持。不幸的是,Simba 的 ODBC 驱动程序对如何将类型名称呈现给客户端做出了某些假设,并且在新类型上失败了。

Presto 的下一个版本(本周发布)将使用 a configuration option 来恢复旧行为,同时如果客户实现做出类似假设,我们将有机会升级他们的实现。

更新:现在应该在 version 338 中修复。您可以将deprecated.omit-datetime-type-precision 配置选项设置为true 以恢复旧行为。

【讨论】:

以上是关于Presto odbc 无法读取 HIVE 中的时间戳字段的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 CSV 文件中的 Presto 创建 Hive 表

Presto 无法获取 HIVE 表中的内容

Presto 查询 HIVE 表异常:无法列出目录

Presto查询引擎简单分析

Presto 查询无法将数据插入 Hive

用python连接hive和presto并进行查询和插入