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

Glue写入S3的XML格式DynamicFrame时如何指定自定义rootTag和rowTag

解决方案

AWS Glue 写入XML格式文件时,自定义根标签、行标签的配置不属于S3连接参数,需要单独通过format_options字段传入,你原有代码未指定该部分配置,因此会使用框架默认的root作为根标签、record作为行标签。

直接修改写入代码,补充格式配置即可满足需求:

repartitioned_df = df.repartition(1)
datasink4 = glueContext.write_dynamic_frame.from_options(
    frame = repartitioned_df,
    connection_type = "s3",
    connection_options = {"path": "s3://datalaketest1/temp"},
    format = "xml",
    format_options = {
        "rootTag": "SET",
        "rowTag": "TRECORD"
    },
    transformation_ctx = "datasink4"
)

补充说明

  • 标签值严格区分大小写,请确保传入的SET、TRECORD拼写和大小写与预期完全一致
  • Glue 2.0及以上版本内置的XML处理组件原生支持该配置,若使用低于2.0的Glue版本,请先确认作业依赖的XML插件包版本兼容这两个参数
  • 如果你选择先将DynamicFrame转换为Spark DataFrame再执行写入,可通过DataFrame写入的option方法传参,参考写法如下:
spark_df = repartitioned_df.toDF()
spark_df.write \
    .format("xml") \
    .option("rootTag", "SET") \
    .option("rowTag", "TRECORD") \
    .save("s3://datalaketest1/temp")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:39:19