You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PySpark/Python中将timeUUID转换为timestamp?

解决TimeUUID字符串转Timestamp的问题

首先,你当前代码的问题大概率出在time_uuid库与标准uuid.UUID对象的字节格式兼容上,试试下面两种更可靠的解决方案:

方案一:用cassandra-driver库处理(推荐,适配Cassandra场景)

如果你的TimeUUID数据来自Cassandra,官方驱动的工具类适配性最好:

from cassandra.util import TimeUUID
from uuid import UUID

# 替换成你的occurrence列字符串值
occurrence_str = "123e4567-e89b-12d3-a456-426614174000"
# 先转标准UUID,再转为TimeUUID对象
time_uuid_obj = TimeUUID(UUID(occurrence_str))
# 获取秒级时间戳(带小数)
timestamp = time_uuid_obj.timestamp()
# 如需毫秒级时间戳,可做转换
timestamp_ms = int(timestamp * 1000)

方案二:修正time-uuid库的用法

如果坚持使用time-uuid库,直接从字符串解析即可,无需先转uuid.UUID:

import time_uuid

occurrence_str = "123e4567-e89b-12d3-a456-426614174000"
# 直接用from_string方法解析TimeUUID字符串
ts = time_uuid.TimeUUID.from_string(occurrence_str).get_timestamp()
# get_timestamp返回微秒级整数,转秒级需除以1e6
timestamp = ts / 1000000

常见报错排查

  • 若报ValueError: invalid UUID string:检查occurrence字符串是否符合标准UUID格式(8-4-4-4-12的字符结构,包含连字符)
  • 若报字节参数不匹配:time-uuid库的TimeUUID构造器对字节顺序的要求和uuid.UUID的bytes属性不一致,直接用字符串解析可避免该问题

内容的提问来源于stack exchange,提问作者Rahul Diggi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:15:34