首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >pyarrow/parquet错误地保存大的时间戳

pyarrow/parquet错误地保存大的时间戳
EN

Stack Overflow用户
提问于 2021-10-05 16:34:28
回答 2查看 380关注 0票数 1

我有一些时间戳在数据库中是9999-12-31的,并试图转换为拼花。不知何故,这些时间戳在拼图文件中都以1816-03-29 05:56:08.066的形式结束。

以下是重现该问题的一些代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
file_path = "tt.parquet"
schema = pa.schema([pa.field("tt", pa.timestamp("ms"))])
table = pa.Table.from_arrays([pa.array([datetime(9999, 12, 31),], pa.timestamp('ms'))], ["tt"])
writer = pq.ParquetWriter(file_path, schema)
writer.write_table(table)
writer.close()

我没有尝试用pandas读取数据,但我尝试过用pandas检查,但最终出现了pyarrow.lib.ArrowInvalid: Casting from timestamp[ms] to timestamp[ns] would result in out of bounds timestamp:错误。

我正在将拼图文件加载到Snowflake中,并返回错误的时间戳。我也尝试过使用拼图工具进行检查,但这似乎不适用于时间戳。

parquet/pyarrow不支持大的时间戳吗?如何存储正确的时间戳?

EN

回答 2

Stack Overflow用户

发布于 2021-10-05 17:05:14

显然,时间戳'9999-12-31‘不是用作真正的时间戳,而是用作无效值的标志。

如果在流水线的末尾,Snowflake看到的是'1816-03-29 05:56:08.066',那么您可以将它们保持原样-或者将它们重新转换为您希望它们在Snowflake中具有的任何值。至少它是一致的。

但是,如果您坚持希望Python能够正确处理9999种情况,那么可以看看这个用use_deprecated_int96_timestamps=True解决的问题

票数 0
EN

Stack Overflow用户

发布于 2021-10-06 16:04:14

对我来说,这是因为我需要在拼花writer上设置use_deprecated_int96_timestamps=False

默认情况下它说它是假的,但是我把它的风格设置为“spark”,所以我认为它覆盖了它。

感谢你的帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69458623

复制
相关文章
时间,时间戳
将如上的时间2016-05-05 20:28:54转换成时间戳,具体的操作过程为:
zhengzongwei
2019/07/31
5.1K0
时间戳 时间
背景 由于团队业务做的是国际项目,就无法避免一个问题--时区问题,很多业务都是跟时间有关。一些时间的对比,时间的展示,都会涉及到时区和时间戳,所以花点时间来简单总结一下 概念 时间戳 时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。假设浏览器所在电脑的时间是准确的,那么世界上无论哪个时区的电脑,它们此刻产生的时间戳数字都是一样的,所以,时间戳可以精确地表示一个时刻,并且与时区无关。 时区 时区(Time Zone)是地球上的区域使用同一个时间定义。188
千往
2018/01/24
5.8K0
Python获取当前时间戳_时间转换时间戳
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
9.6K0
Unix 时间戳;时间戳获取和生成
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
西湖醋鱼
2020/12/30
9.2K0
Python获取时间戳_python爬虫时间戳
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189145.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5.9K0
Linux时间戳转换_时间戳转换软件
在大多数 UNIX 系统中,当前时间存储为自特定时刻以来经过的时间以简化,将时间保持为长整数。所有 UNIX 系统普遍接受的时刻是 1970 年 1 月 1 日凌晨 12:00:00。 这称为 UNIX 时间戳,并被所有现代 UNIX/Linux 系统识别。
全栈程序员站长
2022/11/09
15.7K0
Linux时间戳转换_时间戳转换软件
java当前时间的时间戳_java获取当前时间(时间戳)的方法
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/06/28
8.9K0
java当前时间的时间戳_java获取时间戳和当前时间
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/08/18
8.6K0
Linux时间戳转换_如何获取时间戳
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
13.2K0
时间戳
时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。
KEVINGUO_CN
2020/03/17
3.9K0
java 时间戳字符串_Java获取当前时间戳/时间戳转换
public classApp {public static voidmain(String[] args) {//精确到毫秒//获取当前时间戳
全栈程序员站长
2022/08/11
8.4K0
获取当前时间的时间戳
不懂time模块或其他内置模块的小朋友可以参考我这篇博客:python 内置模块
HammerZe
2022/05/09
8K0
获取当前时间的时间戳
linux 日期转换时间戳_将时间戳转为时间
最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日期格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实现以下。
全栈程序员站长
2022/11/10
10.5K0
linux 日期转换时间戳_将时间戳转为时间
php中的时间戳与javascript中的时间戳的比较
php中的时间戳与javascript中的时间戳的比较,本质上看,它们是一样的东西,但如果二者要进行相等比较的时候,还是有点不同的,稍不注意,就会误入歧途,所以,这里列出容易忽略的两点不同,供大家参考:
风柏杨4711
2021/03/15
3.4K0
Android 获取时间戳 和时间戳转日期
获取系统时间戳 public String getTime(){ long time=System.currentTimeMillis()/1000;//获取系统时间的10位的时间戳 String str=String.valueOf(time); return str; } 、获取系统时间 long currentTime = System.currentTimeMillis(); SimpleDateFormat formatter = new SimpleDateForma
程思扬
2022/01/10
6.9K0
时间戳转换
生成当前时间戳 root@BJ-CentOS7 ~ # date +%s 转换指定时间为时间戳 root@BJ-CentOS7 ~ # date -d "2019-01-24 14:35" +%s 转
大大大黑白格子
2020/06/10
6.1K0
java时间戳
  时间戳是指文件属性里的创建、修改、访问时间。 数字时间戳技术是数字签名技术一种变种的应用。在电子商务交易文件中,时间是十分重要的 信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。
Java架构师必看
2021/05/21
2.5K0
java时间戳
PHP时间戳
我们可以通过 date() 函数提供的丰富格式化来显示需要的时间日期,如下面的例子:
我不是费圆
2020/09/21
5.6K0
python 时间 时间戳 互转
ltime=time.localtime(19532546) timeY=time.strftime("%Y-%m-%d %H:%M:%S",ltime) print(timeY) #2018-09-09
用户5760343
2022/01/09
1.5K0
linux获取时间戳_java时间戳转换成时间
leon@ubuntu:~/work$ date -d @1630236318 +”%Y/%m/%d %H:%M:%S” 2021/08/29 11:25:18
全栈程序员站长
2022/11/09
9K0

相似问题

将Pandas df写入Pyarrow Parquet表将导致“越界”时间戳的发行

12

从pyarrow.Table转换到熊猫时处理大时间戳

14

Pyarrow.lib.Schema对pyarrow.parquet.Schema

20

http请求,带parquet和pyarrow

137

使用补丁模拟pyarrow.parquet

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文