HDFS数据源
更新时间:2026-07-03
HDFS 文件数据源支持文件采集(Hdfs-File)一类 source 插件,以 file 作业类型运行,可将 HDFS 上的文件写入数据卷、媒体集等目标端(各目标端插件参数详见各自文档)。本文以 数据卷作为目标端示例。
HDFS 插件类型
| 插件 | plugin_name | _db_pluginId | 作业类型 | 说明 |
|---|---|---|---|---|
| HDFS 文件采集 | HdfsFile |
Hdfs-File |
file |
从 HDFS 采集文件,支持路径过滤、格式过滤和时间范围过滤 |
脚本 Demo 与参数说明
一、文件任务:HDFS → 数据卷
适用于将 HDFS 上的文件批量采集并写入 DataBuilder数据卷的场景。作业类型为 file,source 使用 Hdfs-File,sink 使用 Volume。
JSON
1{
2 "_db_jobMeta": {
3 "name": "hdfs_orders_to_volume",
4 "description": "HDFS /warehouse/in/orders/ 目录下 Parquet 文件同步到 Volume",
5 "parentFolderId": "project_91cc_799bd26eee94",
6 "type": "file",
7 "mode": "script"
8 },
9 "env": {
10 "job.mode": "BATCH",
11 "parallelism": 1
12 "checkpoint.interval": 30000
13 },
14 "source": [
15 {
16 "plugin_name": "HdfsFile",
17 "_db_pluginId": "Hdfs-File",
18 "plugin_output": "source_file",
19 "_db_connectionId": "hdfs-conn-001",
20 "path": "/warehouse/in/orders/",
21 "file_filter_pattern": ".*\\.parquet",
22 "filename_extension": "parquet",
23 "_db_enableSourceFileFilterMod": "enabled",
24 "file_filter_modified_start": "${logicTime(yyyy-MM-dd,-1d)}",
25 "file_filter_modified_end": "${logicTime(yyyy-MM-dd,0d)}"
26 }
27 ],
28 "sink": [
29 {
30 "plugin_name": "Volume",
31 "_db_pluginId": "Volume",
32 "plugin_input": "source_file",
33 "_db_sinkPath": "/Volumes/lake/default/raw_files/orders/",
34 "duplicate_file_strategy": "OVERWRITE"
35 }
36 ]
37}
Reader 参数:Hdfs-File
| 参数 | 描述 | 是否必选 | 默认值 |
|---|---|---|---|
plugin_name |
SeaTunnel 插件名,固定填 HdfsFile |
是 | 无 |
_db_pluginId |
DataBuilder 侧插件 ID,固定填 Hdfs-File |
是 | 无 |
plugin_output |
Source 输出流名称,需与 sink 的 plugin_input 保持一致 |
是 | 无 |
_db_connectionId |
HDFS 数据源连接 ID | 是 | 无 |
path |
HDFS 上的文件或目录路径(如 /warehouse/in/orders/) |
是 | 无 |
file_filter_pattern |
路径正则过滤,匹配的文件才会被采集(如 .*\\.parquet) |
否 | 无 |
filename_extension |
文件格式过滤,例如 parquet 或 csv,parquet |
否 | 无 |
_db_enableSourceFileFilterMod |
更新时间过滤开关:disabled(不过滤)/ enabled(过滤) |
否 | disabled |
file_filter_modified_start |
文件最后修改时间下界,支持时间宏如 ${logicTime(yyyy-MM-dd,-7d)} |
否 | 无 |
file_filter_modified_end |
文件最后修改时间上界,支持时间宏如 ${logicTime(yyyy-MM-dd,0d)} |
否 | 无 |
配置编写注意事项
- plugin_name 与 _db_pluginId 不同:SeaTunnel 真实插件名为
HdfsFile,DataBuilder 侧标识为Hdfs-File,两者格式不同,注意区分。 - HDFS 路径格式:
path填写 HDFS 目录路径(如/warehouse/in/orders/),不使用 URI scheme 前缀,连接参数由_db_connectionId关联的数据源连接配置承载。 - 文件过滤组合使用:
file_filter_pattern(正则)和filename_extension(扩展名)可组合使用,均满足才会采集该文件;时间范围过滤需先将_db_enableSourceFileFilterMod设为enabled才生效。 - HDFS 仅支持 file 作业类型:
env.job.mode固定为BATCH,不支持 streaming。
评价此篇文章
