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

使用CDF将GCS中动态生成的CSV迁移至S3遇问题求助

GCS到AWS S3动态CSV迁移(Cloud Data Fusion)问题解决方法

问题1:指定byte类型body列时出现“Illegal base64 character 5f”异常

这个错误的核心原因是:当你将列定义为byte类型时,Cloud Data Fusion会默认把CSV内容当作base64编码的字节流解码,但CSV文本里的下划线(ASCII码95,对应错误中的5f)不属于base64合法字符集,直接导致解码失败。

解决方法:

  • 放弃byte类型的body列定义,改用**string类型**读取整个CSV内容。CSV本身是文本格式,直接按文本读取即可,无需转成字节类型处理。
  • 如果需要完全保留文件原始字节流,不要通过Schema解析的方式处理,直接使用CDF的文件复制模式(见问题2的解决方案),跳过Schema解析步骤。

问题2:迁移后文件名变为part*格式

part*是CDF数据处理模式下的默认分片文件名,因为该模式会把数据拆分成多个分片并行处理。要保留原始文件名,必须使用文件级复制而非数据处理模式:

  • 在CDF中创建**“文件复制”类型的管道**,而非构建带Schema映射的数据流管道。
  • 配置源为目标GCS存储桶,目标为AWS S3存储桶,确保管道仅执行文件同步操作,不做任何Schema解析或数据转换。
  • 在目标S3的配置面板中,找到**“文件命名策略”**选项,设置为“保留原始文件名”(部分CDF版本中该选项在复制组件的高级设置里)。

额外建议

由于你的CSV是动态生成、Schema未知,直接做文件级复制是最优方案,既避免了Schema不匹配的问题,又能完美保留原始文件名。如果需要对文件做轻量处理(比如编码转换),可以采用“先复制原文件到S3,再用AWS Lambda做后置处理”的方式,完全不影响原始文件名的保留。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 09:47:43