数据工程文档教程【免费下载链接】data-engineer-handbookThis is a repo with links to everything youd ever want to learn about data engineering项目地址https://gitcode.com/GitHub_Trending/da/data-engineer-handbook点击查看免费下载本指南基于>services: postgres: image: postgres:14 restart: on-failure container_name: ${DOCKER_CONTAINER} env_file: - .env environment: - POSTGRES_DB${POSTGRES_SCHEMA} - POSTGRES_USER${POSTGRES_USER} - POSTGRES_PASSWORD${POSTGRES_PASSWORD} ports: - ${HOST_PORT}:5432 volumes: - ./:/bootcamp/ - ./data.dump:/docker-entrypoint-initdb.d/data.dump - ./scripts/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh - postgres-data:/var/lib/postgresql/data pgadmin: image: dpage/pgadmin4 restart: on-failure container_name: pgadmin environment: - PGADMIN_DEFAULT_EMAIL${PGADMIN_EMAIL} - PGADMIN_DEFAULT_PASSWORD${PGADMIN_PASSWORD} ports: - ${PGADMIN_PORT}:80 volumes: postgres-data: pgadmin-data:从该文件可以看到训练营环境的核心设计postgres:14 镜像课程所有 SQL 均针对 PostgreSQL 14 编写镜像固定版本能避免本地版本差异导致的语法兼容问题data.dump自动导入挂载到/docker-entrypoint-initdb.d/后容器首次启动时会自动执行scripts/init-db.sh并恢复示例数据如 players、games 等课程表学习者无需手动pg_restore端口映射${HOST_PORT}:5432宿主机端口由.env的HOST_PORT默认 5432控制供 DataGrip 等桌面客户端连接PGAdmin 一体化同文件同时启动 pgadmin4提供浏览器端图形化界面。类似的容器化思路也贯穿 Spark 与 Flink 模块3-spark-fundamentals/docker-compose.yaml 用tabulario/spark-iceberg镜像一次性拉起 Spark、Iceberg REST Catalog 与 MinIO对象存储并把 Jupyter 暴露在localhost:88884-apache-flink-training/docker-compose.yml 则包含 Flink JobManager、TaskManager 与 Kafka。2.2 安装 Docker安装方式以 Docker 官方安装指南为准覆盖主流 Linux 发行版、macOSDocker Desktop与 WindowsDocker Desktop WSL2。安装完成后在终端验证docker --version docker compose version两条命令都正常输出版本号说明 Docker 引擎与 Compose 插件均可用。训练营中的make up、docker compose up -d都依赖 Compose所以这一步务必确认。注意Windows 上部分模块的 README 明确建议使用docker compose up而不是make up因为 Make 在 Windows 命令行中并非默认可用。2.3 用 Docker 拉起课程数据库1-dimensional-data-modeling 实战进入课程目录cd intermediate-bootcamp/materials/1-dimensional-data-modeling复制环境变量模板并可选按需修改cp example.env .envexample.env 的关键配置项如下变量默认值说明POSTGRES_USER/POSTGRES_PASSWORDpostgres/postgresPostgreSQL 账号与密码POSTGRES_SCHEMA/POSTGRES_DBpostgres初始数据库名HOST_PORT/CONTAINER_PORT5432/5432宿主机与容器内端口映射DOCKER_CONTAINERmy-postgres-container容器名Makefile 日志与检查命令会引用它PGADMIN_EMAIL/PGADMIN_PASSWORDpostgrespostgres.com/postgresPGAdmin 登录凭据PGADMIN_PORT5050PGAdmin Web 端口启动服务Mac 推荐Windows 用docker compose up -dmake upmake up的行为可以从 Makefile 看出若不存在.env它会自动从example.env复制一份并提示你检查配置随后执行docker compose up -d以后台方式拉起 PostgreSQL 与 PGAdmin。确认容器状态docker ps -a看到my-postgres-container与pgadmin均处于 Up 状态即成功。结束实验时优雅关闭docker compose stop其余常用 Make 命令来自 Makefile命令作用make down停止并删除容器与卷docker compose down -vmake restart重建并重启容器含数据卷重建make logs查看my-postgres-container日志make inspect查看容器挂载卷信息make ip查询容器端口转发情况2.4 常见 Docker 问题排查连接被拒绝 / 无法访问 localhost确认 Docker 正在运行、容器处于 Up 状态核对主机名localhost或my-postgres-container可尝试make restart。端口 5432 被占用本机可能有其他 PostgreSQL 服务。macOS 用lsof -i :5432找到占用进程并kill -9 PIDWindows 用netstat -ano | findstr :5432与taskkill /PID PID /F。PGAdmin 登录失败确认.env中PGADMIN_EMAIL/PGADMIN_PASSWORD正确修改过.env后删除 PGAdmin 容器再make up重新初始化。三、Python 3.11或更高Spark 与 Flink 作业的运行环境3.1 为什么要求 3.11software.md明确要求Python 3.11或更高。训练营后半程的 Spark 与 Flink 模块都以 Python 作为主要编程入口PySpark3-spark-fundamentals/src/jobs 下的players_scd_job.py、team_vertex_job.py、monthly_user_site_hits_job.py用 PySpark DataFrame API 实现课程中的 SCD、图顶点与月度指标作业requirements.txt 列出pyspark、pyspark[sql]以及测试所需的chispa与pytest。Apache Flink Python API4-apache-flink-training/src/job/aggregation_job.py 使用 PyFlink 实现窗口聚合4-apache-flink-training/requirements.txt 指定apache-flink1.16.2、psycopg2-binary与requests。pytest 单元测试Spark 模块的测试如 test_player_scd.py通过python -m pytest运行验证 SCD、团队顶点等作业的正确性。Python 3.11 提供了更好的性能与类型注解支持且满足 PySpark 3.x 与 PyFlink 1.16 的运行时要求这是仓库要求的最低版本线。3.2 安装与验证到 Python 官网下载并安装3.11 或更高版本安装时勾选将 Python 加入 PATH。在终端验证python --version输出Python 3.11.x或更高即满足要求。 3. 推荐为每个模块创建独立虚拟环境避免包版本冲突python -m venv .venv source .venv/bin/activate # Windows 用 .venv\Scripts\activate按模块安装依赖例如 Spark 模块cd intermediate-bootcamp/materials/3-spark-fundamentals pip install -r requirements.txt安装后运行测试验证环境就绪python -m pytest若测试全部通过说明 Python、PySpark 与测试框架已正确配置3-spark-fundamentals/README.md 也以python -m pytest作为官方验证命令。注意Spark 模块本地跑 pytest 前需要本机具备 Spark 运行时也可以直接用该模块的 Docker 方案make up后通过localhost:8888的 Jupyter 运行notebooks/event_data_pyspark.ipynb。四、DataGrip 与其他 SQL 编辑器连上数据库写建模 SQL4.1 选择哪个 SQL 工具software.md给出的首选是DataGripJetBrains 出品并注明“or any other SQL editor”——即 DBeaver、VS CodeSQL 插件等同样可用。训练营中大量作业是编写建模 SQL因此一个顺手且支持 PostgreSQL 语法高亮、自动补全与查询结果可视化的编辑器能显著提升效率。4.2 新建数据库连接以 DataGrip 为例无论使用哪种客户端连接参数都以 1-dimensional-data-modeling/README.md 的 “Step 3: Connect to PostgreSQL” 为准。以 Docker 方式启动后桌面客户端连接参数为HostlocalhostPort5432对应.env中的HOST_PORTDatabasepostgresUsernamepostgresPasswordpostgres勾选Save Password在 DataGrip 中File ➜ New ➜ Data Source ➜ PostgreSQL填入上述参数后点Test Connection测试通过即保存。如果使用 Docker 内的 PGAdmin则访问http://localhost:5050用.env中的PGADMIN_EMAIL/PGADMIN_PASSWORD登录新建 Server 时 Host 填容器名my-postgres-container即 docker-compose 中container_name指定的值端口5432其余同上。连接成功后展开Servers ➜ 你的服务器 ➜ Databases ➜ postgres ➜ Schemas ➜ public ➜ Tables即可看到课程导入的示例表例如players.sql、games.sql、game_details.sql维度建模模块2-fact-data-modeling/tables/devices.sql、events.sql事实建模模块。有了这些表就可以直接运行课程目录下的 SQL 脚本如lecture-lab/analytical_query.sql、scd_generation_query.sql在 DataGrip 的 Query Console 中执行并观察结果。五、整条环境链路从安装到第一个查询将前三节串联起来得到一份可复制的“训练营启动清单”安装 Docker验证docker --version与docker compose version安装 Python 3.11验证python --version安装 SQL 编辑器DataGrip 或任意 PostgreSQL 客户端进入 1-dimensional-data-modeling 目录cp example.env .env后make upWindows 用docker compose up -d用docker ps -a确认my-postgres-container与pgadmin就绪在 DataGrip 中以localhost:5432/postgres/postgres建连并验证表已加载进入 Spark 模块时按需pip install -r requirements.txt用python -m pytest验证 Python 环境或直接用make up打开 Jupyter学习结束用docker compose stop或make stop收尾。完成这八步你就拥有了运行训练营全部六个模块维度建模、事实建模、Spark、Flink、分析模式、KPI 实验等的统一环境。后续课程所需的具体命令与实验说明均可分别查阅各模块 README 与lecture-lab、sql、src目录下的实现文件。六、补充说明本文所有配置项、端口号与命令均取自仓库中的 docker-compose.yml、example.env、Makefile 及各模块 README可直接按仓库当前内容复现。如果后续实验中发现表未加载可按 1-dimensional-data-modeling/README.md 的 “Tables Not Loading?” 一节处理本地安装方式用 psql 执行\i data.dumpDocker 方式则docker exec -it my-postgres-container bash后在容器内执行pg_restore -U $POSTGRES_USER -d $POSTGRES_DB /docker-entrypoint-initdb.d/data.dump。software.md本身是一份精简需求清单本指南据此展开并整合了仓库内各模块 README 的可操作步骤作为训练营开营前的环境准备手册。赞分享数据工程文档教程【免费下载链接】data-engineer-handbookThis is a repo with links to everything youd ever want to learn about data engineering项目地址https://gitcode.com/GitHub_Trending/da/data-engineer-handbook点击查看免费下载相关推荐QQ空间历史说说导出本地化批量备份方案QQ空间历史说说导出本地化批量备份方案 GetQzonehistory 是一个开源 Python 工具用于把 QQ 空间账号的历史说说、转发、留言和互动记录网页爬虫数据分析MiniMind训练环境配置Ubuntu与CUDA安装指南MiniMind训练环境配置Ubuntu与CUDA安装指南 1. 环境配置痛点与解决方案 你是否在配置MiniMind训练环境时遇到过CUDA版本不兼容、Py人工智能大模型预训练微调强化学习模型蒸馏AI Agent工具调用模型推理服务模型评测ChatTTS-ui让文字拥有灵魂的本地语音合成神器ChatTTS ui让文字拥有灵魂的本地语音合成神器 在数字内容创作日益普及的今天将文字转化为自然流畅的语音已成为许多创作者和开发者的迫切需求。ChatTT人工智能语音AI 应用本地部署后端上一篇PixiJS v8 场景对象Scene Objects完全指南场景图、变换、遮罩与滤镜实战下一篇B站视频下载终极指南三步解锁大会员4K与充电专属内容创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考