阶段技能Skill stage

阶段技能用于将数据文件从登陆区移动到待处理区,执行解压缩和确认文件处理,是数据摄取管道的第一步,确保数据准备就绪供后续加载。关键词:数据阶段化、ETL、数据工程、ACK文件处理、数据管道、数据摄取、文件管理。

数据工程 0 次安装 0 次浏览 更新于 3/15/2026

name: stage description: 将文件从登陆区移动到待处理区

阶段技能

将数据文件从登陆区移动到待处理区,沿途应用解压缩和确认(ACK)文件处理。这通常是数据摄取管道的第一步,在load命令处理文件之前。

用法

starlake stage [options]

选项

  • --domains <value>: 要阶段的以逗号分隔的域列表(默认:所有)
  • --tables <value>: 要阶段的以逗号分隔的表列表(默认:所有)
  • --options k1=v1,k2=v2: 阶段过程的替换参数
  • --reportFormat <value>: 报告输出格式:consolejsonhtml

工作原理

  1. 扫描登陆目录中匹配域/表模式的新文件
  2. 处理压缩文件(gzip、zip),解压缩它们
  3. 如果配置了,检查确认(ACK)文件
  4. 将有效文件移动到待处理区,供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

相关技能

  • 预加载 - 检查可用于加载的文件
  • 加载 - 将分阶段文件加载到数据仓库
  • 自动加载 - 自动推断模式和加载
  • 配置 - 配置参考(ACK、区域设置)