name: stage description: 将文件从登陆区移动到待处理区
阶段技能
将数据文件从登陆区移动到待处理区,沿途应用解压缩和确认(ACK)文件处理。这通常是数据摄取管道的第一步,在load命令处理文件之前。
用法
starlake stage [options]
选项
--domains <value>: 要阶段的以逗号分隔的域列表(默认:所有)--tables <value>: 要阶段的以逗号分隔的表列表(默认:所有)--options k1=v1,k2=v2: 阶段过程的替换参数--reportFormat <value>: 报告输出格式:console、json或html
工作原理
- 扫描登陆目录中匹配域/表模式的新文件
- 处理压缩文件(gzip、zip),解压缩它们
- 如果配置了,检查确认(ACK)文件
- 将有效文件移动到待处理区,供
load处理
目录流程
landing/ → pending/ → (load processes)
└── starbake/ └── starbake/
├── orders.json ├── orders.json
└── orders.ack └── (ack consumed)
ACK文件配置
在域_config.sl.yml中配置确认文件:
# metadata/load/starbake/_config.sl.yml
version: 1
load:
name: "starbake"
metadata:
directory: "{{incoming_path}}/starbake" # 这是登陆区
ack: "ack" # 如果定义,处理前需要.ack文件
示例
阶段所有域
starlake stage
阶段特定域
starlake stage --domains starbake
阶段特定表
starlake stage --domains starbake --tables orders,products
阶段以JSON报告
starlake stage --reportFormat json