ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Bruin CLI 命令完全指南:用 `bruin run`、`bruin validate`、`bruin lineage` 与 `bruin query` 驱动你的数据流水线

Bruin CLI 命令完全指南:用 `bruin run`、`bruin validate`、`bruin lineage` 与 `bruin query` 驱动你的数据流水线 Bruin CLI 命令完全指南用bruin run、bruin validate、bruin lineage与bruin query驱动你的数据流水线【免费下载链接】data-engineering-zoomcampData Engineering Zoomcamp is a free 9-week course on building production-ready data pipelines. Join the course here 项目地址: https://gitcode.com/GitHub_Trending/da/data-engineering-zoomcamp导读在 Data Engineering Zoomcamp 第 5 模块中Bruin 被用作一个端到端数据平台它把数据接入ingestion、转换transformation、编排orchestration、数据质量检查quality checks、元数据与血缘metadata lineage整合进同一个工具。而命令Commands正是你与 Bruin 项目交互的入口——无论是执行流水线、校验配置、查看血缘还是对连接执行即席查询都通过 CLI 完成。读完本文你将掌握bruin run、bruin validate、bruin lineage、bruin query四大核心命令的完整用法理解一次 run 是什么并能在纽约出租车NYC Taxi三层流水线上熟练实践。为什么命令是 Bruin 的核心交互方式命令是 Bruin 项目一切动作的载体。回顾模块 5 的核心概念体系Project项目根目录—— 通过bruin init初始化.bruin.yml定义环境与连接见 06-core-01-projects.mdPipeline流水线—— 按调度分组的资产集合pipeline.yml定义名称、调度、默认连接与变量见 06-core-02-pipelines.mdAssets资产—— 具体执行工作的文件Python 接入、SQL 转换、Seed 静态数据见 06-core-03-assets.mdCommands—— 让一切发生bruin run执行、bruin validate校验、bruin query查询。简而言之Project、Pipeline、Assets 描述是什么Commands 决定怎么做。Bruin CLI 的安装方式为curl -LsSf https://getbruin.com/install/cli | sh bruin version同时可以安装 VS Code / Cursor 扩展获得 Bruin 渲染面板直接在 IDE 内运行资产与流水线详见 02-getting-started.md。bruin run—— 执行一条流水线bruin run会为你的流水线创建一个单次执行实例run。最基本的用法是指定流水线定义文件的路径bruin run ./pipelines/nyc-taxi/pipeline.yml运行作用域Run Scope选项bruin run不仅可以运行整条流水线还可以把执行范围精确收缩到某个资产选项说明整条流水线按依赖顺序运行所有资产单个资产--asset staging.trips_summary带上游--asset X --upstream—— 运行 X 及其全部依赖带下游--asset X --downstream—— 运行 X 及其全部下游依赖例如只运行raw.trips以及依赖它的全部下游资产bruin run ./pipelines/nyc-taxi/pipeline.yml \ --asset raw.trips \ --downstream作用域选项与资产的血缘lineage图紧密耦合Bruin 根据资产间的读写关系自动构建依赖图因此--upstream/--downstream能精确推导出需要一并执行的资产集合资产依赖机制的详解见 06-core-03-assets.md。常用运行标志Flags标志说明--start-date DATE设置执行开始日期--end-date DATE设置执行结束日期--full-refresh删除并重建表覆盖增量策略--exclusive-end-date结束日期为开区间默认为闭区间--environment ENV使用指定环境如 dev / prod--var KEYVALUE覆盖自定义变量组合示例# 简单运行 bruin run ./pipelines/nyc-taxi/pipeline.yml # 带日期范围运行 bruin run ./pipelines/nyc-taxi/pipeline.yml \ --start-date 2020-01-01 \ --end-date 2020-01-31 # 全量刷新并覆盖变量 bruin run ./pipelines/nyc-taxi/pipeline.yml \ --full-refresh \ --var taxi_types[yellow,green] \ --environment default关键点--start-date/--end-date会注入为内置变量供资产内的 Jinja 模板SQL或环境变量Python读取从而精确控制每个资产处理的时间窗口--var则以KEYVALUE的形式覆盖 pipeline 级自定义变量的默认值变量机制的完整讲解见 06-core-04-variables.md。在 NYC Taxi 示例中--var taxi_types[yellow,green]会改变接入层抓取哪些出租车类型的数据03-nyc-taxi-pipeline.md。bruin validate—— 运行前先校验bruin validate在真正运行之前检查配置问题是进入生产前的第一道安全网bruin validate ./pipelines/nyc-taxi/pipeline.yml它会校验以下内容血缘图中不存在循环依赖资产定义是否正确连接connection是否存在且配置正确不存在断裂的引用。实践建议每次运行前务必先 validate在 NYC Taxi 流水线中标准做法是先校验再以小区间试跑详见 03-nyc-taxi-pipeline.md# 先校验结构与定义 bruin validate ./pipeline/pipeline.yml # 用小区间验证逻辑 bruin run ./pipeline/pipeline.yml --start-date 2022-01-01 --end-date 2022-02-01对项目整体做校验也同样支持bruin validate .06-core-01-projects.md。bruin lineage—— 查看依赖图bruin lineage用于可视化资产之间的连接关系bruin lineage ./pipelines/nyc-taxi/pipeline.yml它展示资产间的上游upstream与下游downstream关系。结合 NYC Taxi 三层架构接入 → 清洗 → 报表血缘图会清晰呈现执行顺序接入资产先并行运行trips lookupstaging 资产在两者完成后运行报表资产最后运行03-nyc-taxi-pipeline.md。也可以只查看单个资产的血缘bruin lineage ./pipeline.yml --asset raw.trips_rawbruin query—— 即席查询数据bruin query对已配置的连接执行临时查询适合运行后验证结果或做探索性分析bruin query --connection duckdb-default \ --query SELECT * FROM ingestion.trips LIMIT 10在 NYC Taxi 示例中接入完成后通常用如下命令确认数据落库bruin query --connection duckdb-default --query SELECT COUNT(*) FROM ingestion.trips连接本身在项目级.bruin.yml中按环境定义如 DuckDB、MotherDuck、PostgreSQL、BigQuery、Redshift、Snowflake 等因此--connection指定的名称必须与该文件中对应环境下的连接名一致。什么是一次 Run一次run是流水线执行的一个独立实例具有以下特征拥有唯一的开始 / 结束时间可能运行全部资产也可能只运行一个子集通过--asset及作用域选项携带自己的变量值内置日期变量 --var覆盖的自定义变量产生执行日志与结果。正因为每次 run 都是一次独立实例你可以在不同时间点用不同参数反复运行同一条流水线例如回填历史区间用--start-date 2020-01-01 --end-date 2020-01-31增量更新用当前区间而互不干扰。把一切串起来Bruin 完整工作流1. Project (root, initialized) └── .bruin.yml (environments, connections) 2. Pipeline (scheduled grouping) └── pipeline.yml (schedule, default connection, variables) 3. Assets (the actual work) ├── Python (ingestion, processing) ├── SQL (transformations) └── YAML/Seed (static data) 4. Commands (make it happen) ├── bruin run (execute) ├── bruin validate (check) └── bruin query (inspect)在一个典型开发循环中你会用bruin init zoomcamp my-pipeline初始化项目生成.bruin.yml、pipeline.yml、assets/骨架在.bruin.yml中按环境配置连接默认default环境DuckDB 等在pipeline.yml中配置名称、调度、start_date与默认连接编写资产Python 接入、SQL 转换、Seed 静态表bruin validate校验 —— 通过后再bruin run执行bruin lineage检查依赖是否正确bruin query验证结果数据。快速参考# 初始化新项目 bruin init zoomcamp my-pipeline # 运行前校验 bruin validate ./pipeline/pipeline.yml # 运行整条流水线 bruin run ./pipeline/pipeline.yml # 带日期范围运行 bruin run ./pipeline/pipeline.yml \ --start-date 2020-01-01 \ --end-date 2020-01-31 # 运行单个资产及其下游 bruin run ./pipeline/pipeline.yml \ --asset raw.trips \ --downstream # 全量刷新 bruin run ./pipeline/pipeline.yml --full-refresh # 覆盖变量 bruin run ./pipeline/pipeline.yml --var taxi_types[green,fhv] # 查看血缘 bruin lineage ./pipeline/pipeline.yml # 查询表数据 bruin query --connection duckdb-default \ --query SELECT COUNT(*) FROM staging.trips延伸阅读Bruin CLI 命令总览与命令参考本笔记原文核心概念系列Projects · Pipelines · Assets · VariablesBruin 端到端 NYC Taxi 流水线实战包含上述命令在真实三层流水线中的完整用法使用 Bruin MCP 与 AI Agent 交互AI Agent 会自动调用bruin validate、bruin run、bruin query完成流水线的搭建、试跑与验证Bruin 云上部署与监控将同一套 CLI 工作流托管到云端【免费下载链接】data-engineering-zoomcampData Engineering Zoomcamp is a free 9-week course on building production-ready data pipelines. Join the course here 项目地址: https://gitcode.com/GitHub_Trending/da/data-engineering-zoomcamp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表