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

AWS Glue Studio中PySpark字符串列转日期返回Null问题排查

问题分析与解决方案

你的问题核心是日期格式字符串不匹配,导致to_timestamp无法正确解析,返回Null。原格式字符串MM/dd/yyyy HH:MM:SS存在三个关键错误:

  • MM是月份的格式符,分钟应该用mm;SS是毫秒格式符,秒应该用ss
  • 未包含12小时制的AM/PM标识,需要添加a
  • 你的日期中月份、日期、小时、分钟都是单数字(如7、1、12、0),应该用M/d/h/m(支持单/双数字),而非MM/dd/HH(要求双数字)

修正后的自定义转换代码

MyTransform (glueContext, dfc) -> DynamicFrameCollection:
      from pyspark.sql.functions import col, to_timestamp
      df = dfc.select(list(dfc.keys())[0]).toDF()
      # 使用匹配目标格式的字符串:M/d/yyyy h:m:s a
      df = df.withColumn('Date', to_timestamp(col("Date"), 'M/d/yyyy h:m:s a'))
      df_res = DynamicFrame.fromDF(df, glueContext, "df")
      return(DynamicFrameCollection({"CustomTransform0": df_res}, glueContext))

格式符说明

  • M:月份(1-12,支持单/双数字)
  • d:日期(1-31,支持单/双数字)
  • h:12小时制的小时(1-12,支持单/双数字)
  • m:分钟(0-59,支持单/双数字)
  • s:秒(0-59,支持单/双数字)
  • a:AM/PM标识

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:35:19