
Data Engineering Zoomcamp 如何安装 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本文解决一个具体的上手任务在 Data Engineering Zoomcamp 的 Module 5Data Platforms中安装 Bruin CLI并用它初始化第一个流水线项目最终让项目通过bruin validate校验、能跑通一次bruin run。整个过程基于课程文档 05-data-platforms/notes/02-getting-started.md目标数据库使用课程示例中的 DuckDB无需预先准备外部数据库。安装 Bruin CLI在终端执行课程文档给出的安装命令curl -LsSf https://getbruin.com/install/cli | sh注意这条命令会从网络上下载安装脚本并直接通过sh执行作用是在本机安装bruin可执行文件会修改你的用户环境写入可执行程序。执行完成后用文档中的版本命令确认安装成功bruin versionbruin version能正常输出即表示 CLI 安装到位这是后续所有bruin init、bruin validate、bruin run命令的前提。可选步骤在 VS Code 或 Cursor 中安装 Bruin 扩展。文档说明该扩展会提供一个 Bruin render panel可以直接在 IDE 里运行 assets 和 pipelines并查看编译后的查询结果。这不影响 CLI 完成本文任务但后续在 IDE 中开发 asset 时会用到。用 bruin init 初始化第一个项目安装完成后在项目目录外任意你想要放置项目的目录执行bruin init default my-first-pipeline cd my-first-pipelinebruin init会完成几件事从default模板创建项目、自动初始化 git 仓库、添加.gitignore、创建项目配置文件。文档特别强调Bruin 要求项目必须是 git 初始化的而bruin init会自动处理这一步不需要你手动执行git init。进入项目后目录结构如下文档示例my-first-pipeline/ ├── .bruin.yml # Environment and connection configuration ├── pipeline.yml # Pipeline name, schedule, default connections └── assets/ ├── players.asset.yml # Ingestr asset (data ingestion) ├── player_stats.sql # SQL asset with quality checks └── my_python_asset.py # Python asset三个资产文件分别对应文档中的三种 asset 类型YAML ingestor数据摄取、SQL asset对数据库执行 SQL 查询、Python asset脚本处理。如果目标是课程配套的出租车数据练习文档 05-data-platforms/README.md 给出的替代初始化命令是bruin init zoomcamp my-taxi-pipeline cd my-taxi-pipeline该模板按 ingestion、staging、reports 三层组织资产结构见 05-data-platforms/notes/03-nyc-taxi-pipeline.md。本文主路径以default模板为例两个模板后续的 validate/run 流程一致。理解两个关键配置文件.bruin.yml环境与连接配置.bruin.yml定义环境如 default、production、staging以及每个环境下的数据库连接。default 模板生成的内容文档示例default_environment: default environments: default: connections: duckdb: - name: duckdb-default path: duckdb.db这里配置的 DuckDB 连接指向本地文件duckdb.db所以本地运行不需要额外搭建数据库服务。文档对.bruin.yml有一条硬性要求该文件只保留在本地会自动加入.gitignore因为它包含数据库连接和密钥永远不要把它推到仓库。pipeline.yml流水线配置pipeline.yml配置流水线的名称、调度、默认连接和起始日期文档示例name: my-pipeline schedule: daily start_date: 2022-01-01 default_connections: duckdb: duckdb-default其中default_connections指定本流水线使用.bruin.yml中哪个连接连接本身定义在项目级由每条流水线声明自己使用哪一个。校验项目并执行第一次运行文档给出的工作顺序是先校验再运行最后查询结果验证。第 1 步校验项目结构。在文档 05-data-platforms/notes/06-core-01-projects.md 的 Quick Reference 中bruin validate .bruin validate会在不运行的情况下检查lineage 中是否存在循环依赖、asset 定义是否正确、连接是否存在且配置正确、是否有损坏的引用。文档的建议是Always validate before running运行前总是先校验。第 2 步小范围运行流水线。用较短的日期区间做测试运行日期区间取自课程文档示例bruin run ./pipeline/pipeline.yml --start-date 2022-01-01 --end-date 2022-02-01Bruin 会把start_date/end_date作为内置变量注入到资产代码中SQL 资产通过 Jinja 模板{{ start_date }}注入Python 资产通过BRUIN_START_DATE等环境变量读取。运行整条流水线时所有 asset 按依赖顺序执行如需重建全部表可用--full-refreshbruin run ./pipeline/pipeline.yml --full-refresh第 3 步查询结果验证。运行结束后用bruin query通过项目配置的连接执行 ad-hoc SQL 检查结果zoomcamp 模板的文档示例bruin query --connection duckdb-default --query SELECT COUNT(*) FROM ingestion.trips能返回查询结果即说明连接和运行链路已打通。此外还可以用bruin lineage ./pipeline/pipeline.yml查看资产间依赖关系确认执行顺序符合预期。常用命令速查来自 05-data-platforms/notes/06-core-05-commands.md命令用途bruin validate path不运行只检查语法与依赖bruin run path执行流水线或单个 assetbruin run --downstream运行某个 asset 及其所有下游依赖bruin run --full-refresh清空并重建表bruin lineage path查看 asset 依赖关系bruin query --connection conn --query ...执行 ad-hoc SQL 查询限制与下一步.bruin.yml必须留在本地不能提交到 git 仓库这也是bruin init自动配置.gitignore的原因。Bruin 要求项目 git 初始化bruin init已自动完成不要手动跳过。完成本文的初始化后课程给出的下一步是围绕 NYC 出租车数据构建 ingestion / staging / reports 三层完整流水线参考 05-data-platforms/notes/03-nyc-taxi-pipeline.md如需让 AI agent 参与创建流水线文档 05-data-platforms/notes/04-bruin-mcp.md 描述了 Bruin MCP 的接入方式前提仍是先完成本文的 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),仅供参考