镶木地板数据类型问题中具有Alluxio存储的Hive Metastore

我正在将prestodb与hive metastore一起用于架构存储,并将alluxio缓存用作数据的外部存储。在alluxio和hive模式中使用的存储格式为 ParqUET 。 使用蜂巢目录从presto检索时间戳字段时。我收到关注错误。

列utdate声明为类型时间戳,但 Parquet 文件将列声明为类型 INT64

数据集的架构为

  

创建表测试(utcdate时间戳记)WITH(format ='ParqUIET',   external_location ='alluxio:// path-toserver / directory-path-to-parquet'   )

此问题是从prestodb v0.221 升级到 v0.226 版本后产生的。

charlescyc 回答:镶木地板数据类型问题中具有Alluxio存储的Hive Metastore

我在保存镶木地板时使用它来解决时间戳问题。

pyarrow.parquet.write_table(self.arrow_table,file_name,use_deprecated_int96_timestamps = True)

presto和spark使用int96时间戳值存储时间戳(以纳秒为单位)。 pyarrow表的默认时间戳格式为int64,而之前将int64视为bigint数据类型。如果我们在pyarrow中使用timestamp int96的过时版本,则将以presto兼容格式获得timestamp值。

,

不清楚您要问的是什么,所以我认为问题是:如何读取数据。

在.226版本中,没有可应用于读取数据的开关或配置更改。因此,您目前有两个选择:

本文链接:https://www.f2er.com/3160415.html

大家都在问