跳到主要内容
版本:Next

SmbFile

SMB 文件接收连接器

描述​

将数据输出到 SMB(Server Message Block)文件共享。

提示

如果使用 spark/flink,为了使用此连接器,您必须确保您的 spark/flink 集群已集成 hadoop。已测试的 hadoop 版本为 2.x。

如果使用 SeaTunnel Engine,下载和安装 SeaTunnel Engine 时会自动集成 hadoop jar。您可以检查 ${SEATUNNEL_HOME}/lib 下的 jar 包来确认。

主要特性​

  • 多模态

    使用二进制文件格式可以读写任何格式的文件,如视频、图片等。简而言之,任何文件都可以同步到目标位置。

  • exactly-once

    默认使用 2PC 提交来确保 exactly-once

  • cdc

  • support multiple table write

  • timer flush

  • 文件格式类型

    • text
    • csv
    • parquet
    • orc
    • json
    • excel
    • xml
    • binary

选项​

名称类型必填默认值描述
hoststring是-SMB 服务器主机地址
portint否445SMB 服务器端口
userstring是-SMB 认证用户名
passwordstring否-SMB 认证密码
domainstring否(空)SMB 认证域名(如 WORKGROUP)
sharestring是-要连接的 SMB 共享名称
pathstring是-共享内的目标文件路径
tmp_pathstring否/tmp/seatunnel结果文件将先写入临时路径,然后使用 mv 将临时目录提交到目标目录
custom_filenameboolean否false是否需要自定义文件名
file_name_expressionstring否"${transactionId}"仅在 custom_filename 为 true 时使用
filename_time_formatstring否"yyyy.MM.dd"仅在 custom_filename 为 true 时使用
file_format_typestring否"csv"支持的文件类型:text, csv, parquet, orc, json, excel, xml, binary
filename_extensionstring否-使用自定义文件扩展名覆盖默认的文件扩展名
field_delimiterstring否text 为 '\001',csv 为 ','仅在 file_format_type 为 text 和 csv 时使用
row_delimiterstring否"\n"仅在 file_format_type 为 text, csv 和 json 时使用
have_partitionboolean否false是否需要处理分区
partition_byarray否-仅在 have_partition 为 true 时使用
partition_dir_expressionstring否"${k0}=${v0}/${k1}=${v1}/.../${kn}=${vn}/"仅在 have_partition 为 true 时使用
is_partition_field_write_in_fileboolean否false仅在 have_partition 为 true 时使用
sink_columnsarray否当此参数为空时,所有字段都是 sink 列
is_enable_transactionboolean否true
batch_sizeint否1000000
compress_codecstring否none
multi_table_sink_replicaint否1多表写入时,每张表对应的 Sink Writer 副本数。
common-optionsobject否-
max_rows_in_memoryint否-仅在 file_format_type 为 excel 时使用
sheet_namestring否Sheet0仅在 file_format_type 为 excel 时使用
xml_root_tagstring否RECORDS仅在 file_format 为 xml 时使用
xml_row_tagstring否RECORD仅在 file_format 为 xml 时使用
xml_use_attr_formatboolean否-仅在 file_format 为 xml 时使用
single_file_modeboolean否false每个并行度只会输出一个文件。
encodingstring否UTF-8仅在 file_format_type 为 text, json, csv, xml 时使用
date_formatstring否yyyy-MM-dd日期类型格式
datetime_formatstring否yyyy-MM-dd HH:mm:ss日期时间类型格式
time_formatstring否HH:mm:ss时间类型格式
create_empty_file_when_no_databoolean否false无数据时是否创建空文件
schema_save_modestring否CREATE_SCHEMA_WHEN_NOT_EXIST已有目录处理方式
data_save_modestring否APPEND_DATA已有数据处理方式
enable_header_writeboolean否false仅在 file_format_type 为 text, csv 时使用。false:不写表头,true:写表头
parquet_avro_write_timestamp_as_int96boolean否false仅在 file_format 为 parquet 时使用
parquet_avro_write_fixed_as_int96array否-仅在 file_format 为 parquet 时使用

示例​

env {
parallelism = 1
job.mode = "BATCH"
}

source {
FakeSource {
schema = {
fields {
name = string
age = int
}
}
}
}

sink {
SmbFile {
host = "192.168.1.100"
port = 445
user = seatunnel
password = pass
domain = "WORKGROUP"
share = "data"
path = "/output/csv"
tmp_path = "/tmp/seatunnel"
file_format_type = "csv"
}
}

更新日志​

next version​

新功能​

  • [Feature] 支持 SMB 文件连接器 (10753)