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

如何在AWS Glue Transform节点中保留键的字母大小写?

问题:AWS Glue Transform节点中如何保留列名大小写?

我正尝试在AWS Glue中添加一个名为timestamp的新列。我的上游数据列名包含大写字母,但添加该列后,其余列的列名均被转换为小写。

实验1:Transform - SQL查询

select 
    cast((Absolute_Time - 2082844800) * 1000 as bigint) as timestamp,
    *
from
    engine_demo;

执行后所有列名都被转换为小写。

实验2:Transform - 自定义代码

def MyTransform (glueContext, dfc) -> DynamicFrameCollection:
    df = dfc.select(list(dfc.keys())[0]).toDF()
    
    from pyspark.sql import functions as F
    df = df.withColumn(
      "timestamp",
      ((F.col("Absolute_Time") - 2082844800) * 1000).cast("long")
    )
    dynamic_frame = DynamicFrame.fromDF(df, glueContext, "changed")
    return (DynamicFrameCollection({"result_dynf": dynamic_frame}, glueContext))

执行后所有列名同样被转换为小写。

实验3

我尝试启用Spark SQL大小写敏感的配置,在“Transform - 自定义”代码中添加了相关设置:

def MyTransform (glueContext, dfc) -> DynamicFrameCollection:
    glueContext.spark_session.conf.set("spark.sql.caseSensitive", "true")
    
    df = dfc.select(list(dfc.keys())[0]).toDF()
    from pyspark.sql import functions as F
    df = df.withColumn(
      "timestamp",
      ((F.col("Absolute_Time") - 2082844800) * 1000).cast("long")
    )
    dynamic_frame = DynamicFrame.fromDF(df, glueContext, "changed")
    return (DynamicFrameCollection({"dynamic_frame": dynamic_frame}, glueContext))

但结果依旧,列名还是被转为小写。

请问是否有方法在AWS Glue Transform节点中保留列名的字母大小写?感谢!


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:55:55