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

Glue DynamicFrame添加文件名列报错:列已存在问题求助

问题解决方法

你的错误根源是**attachFilename参数的位置放错了**——它不属于format_options,而是要放在connection_options配置里。

当你把attachFilename放在format_options中时,Glue内部会默认生成一个文件名相关列,同时你指定的列名又会被重复添加,导致冲突报错,哪怕修改列名也会因内部默认逻辑触发重复问题。

修正后的代码如下:

def read_data(self) -> DynamicFrame:
        dyf = self.glue_context.create_dynamic_frame.from_options(
            connection_type="s3",
            connection_options={
                "paths": [f"s3://{self.args['SOURCE_S3_BUCKET']}/{self.args['SOURCE_S3_KEY']}"],
                "recurse": True,
                "attachFilename": "source_file_name"  # 移至connection_options内
            },
            format="json",
            format_options={
                "jsonPath": "$",
                "multiline": True
            },
            transformation_ctx=f"extract_data"
        )
        print("dyf")
        print(dyf.show(2))

        return dyf

额外注意事项:

  • 确保attachFilename指定的列名,在源JSON文件的字段中不存在,否则仍会触发重复列报错。
  • 启用multiline=True时,要保证每个S3文件内是单个完整的JSON对象,避免解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 09:32:06