Skip to content

MinIO Sink 组件使用说明

组件说明

MinIO Sink 用于将数据写入到 MinIO(兼容 S3 API 的对象存储)。

配置项说明

配置名称数据类型是否必填默认值描述
节点名称StringMinIO当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。
节点编码String自动生成当前创建的节点编码,以此标识此组件,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。
自定义文件名Boolean-否:使用系统默认文件名;
是:需要设置“文件表达式”、“文件名时间格式”。
文件表达式String$设置文件名的表达式。
文件名时间格式Stringyyyy.MM.dd设置文件名的带时间的格式。
选择数据源String-从下拉选项中选择列出的当前项目已经关联的数据源。
选择文件String-从列表中选择对象/文件。
文件路径String-源文件路径。可以是完整路径,比如:/home/dws/infile/orderinfo.xls,也可以是不带具体文件名的路径,比如:/home/dws/infile/,然后通过"文件过滤正则表达式"进行过滤。
文件类型Stringjson支持:text、csv、parquet、orc、json、excel、xml、binary 八种文件类型。
注意:选择 excel 文件时,请务必删除表头,只保留数据。
压缩算法Stringnonelzo 适用于 txt、json、csv;
orc 和 parquet 会自动识别压缩类型,无需设置;
none 为不需要压缩/解压缩。
字段分隔符String-设置数据字段分隔符。
行分隔符String-设置数据行分隔符。
跳过文件Int0当选择文件类型为text/csv时,需要配置,用于跳过文件前多少行。
sheet名称String-当选择文件类型为excel时,选择 sheet 名称。
excel读取引擎StringPOI当选择文件类型为excel时,选择 excel 读取引擎名称。
XML根标签StringRECORDS当选择文件类型为xml时,指定XML根标签名称。
XML行标签StringRECORD当选择文件类型为xml时,指定XML文件中数据行的标记名称。
是否使用属性格式Boolean当选择文件类型为xml时,指定是否使用标记属性格式处理数据。
写入字段String-获取的上游字段的信息。可以点击【获取字段】按钮自动获取全部字段名称及类型,也可以点击【增加字段】手工输入字段名称及类型。
是否分区Boolean-是否启用分区。
批次大小Int1000000批次大小。
目录处理方法String目录不存在时创建对于目录的情况,处理方式有四种:
- 重新创建目录
- 目录不存在时创建
- 目录不存在时报告错误
- 忽略对目录的处理 。
数据处理方法String追加数据支持三种模式:
1、追加数据:数据统一追加到目标表中;
2、同步前删除数据:先清空目标表数据,然后再给目标表添加数据;
3、当存在数据时,报告错误:当目标表存在相同数据时,报告错误,不会添加数据。
可选参数--其他参数,用户可以根据需求进行配置。

FAQ

Q1: 写入时出现 UnknownHostException 或连接超时 原因: 网络不通或 Endpoint 填写错误。 解决:

  • 确保 SeaTunnel 所在容器/服务器能 ping 通 MinIO 域名/IP。
  • 使用 MinIO 的内部 K8s Service 名称或完整 IP。
  • 如果 MinIO 开启 HTTPS,需要设置 fs.s3a.connection.ssl.enabled = "true"。

Q2: 报错 The bucket you are attempting to access must be addressed using the specified endpoint 原因: 没有设置 path_style_access = true。

解决:

yaml
path_style_access: true

并且在 hadoop_s3_properties 中同时设置:

yaml
"fs.s3a.path.style.access" = "true"

Q3: 权限错误 Access Denied

原因: Access Key/Secret Key 错误,或该用户没有对 Bucket 的读写权限。

解决:

  • 检查密钥。
  • 在 MinIO Console 中为该 Access Key 设置 Bucket 的 ReadWrite 策略。

Q4: SeaTunnel 找不到 S3File 插件

原因: 缺少插件包。

解决:

yaml
# 确认 $SEATUNNEL_HOME/connectors/ 目录下有 seatunnel-connector-xxx-s3file.jar
# 如果没有,从官方下载或执行:
wget https://repo.maven.apache.org/.../seatunnel-connector-xxx-s3file-2.3.x.jar