parquet 如何在 S3 中存储时间戳数据?

Posted

技术标签:

【中文标题】parquet 如何在 S3 中存储时间戳数据?【英文标题】:How parquet stores timestamp data in S3? 【发布时间】:2020-04-23 16:51:20 【问题描述】:

我的数据以 file_name.snappy.parquet 格式存储在 S3 中。当我在 S3 中预览此文件时,我的时间戳字段为: "ModifiedOn": 4.535976891407963e+25

这个字段是使用 pyspark TimestampType 创建的。当我在 Athena 表中看到此字段时,它按预期显示为 2020-04-18 21:55:41.000。但是当我尝试手动转换它时,我得到Monday, May 25, 3407 7:48:34.079 AM。 (使用https://www.epochconverter.com/) 假设此时间戳以纳秒为单位(十亿分之一秒)。

如何手动获取给定字段的正确日期?

【问题讨论】:

【参考方案1】:

我也花了一段时间才找到这个解决方案。返回的日期时间为 INT96 格式。要将其转换回儒略历日期,请关注此帖子:https://***.com/a/58154815/1733222。

【讨论】:

以上是关于parquet 如何在 S3 中存储时间戳数据?的主要内容,如果未能解决你的问题,请参考以下文章

使用存储在 s3 中的 parquet 文件在 Greenplum 中创建外部表

Parquet Data 时间戳列 INT96 尚未在 Druid Overlord Hadoop 任务中实现

如何将 Spark Streaming 检查点位置存储到 S3 中?

使用 saveAsTable 将 parquet 数据写入 S3 未完成

用于 S3 中 PARQUET 格式的 Kafka S3 源连接器

使用 AWS Lambda (Python 3) 读取存储在 S3 中的 Parquet 文件