基础技能
Linux、Git、网络、分布式基础。
35 分钟
基础技能
数据工程师的工作环境横跨 Linux 服务器、Git 仓库、网络与分布式系统。这些不是「运维专属」,而是写管道、查日志、部署调度器的日常工具。
学习目标
- 掌握数据工程常用的 Linux 与 Shell 操作
- 理解 Git 在管道代码与配置管理中的作用
- 建立网络、分区、副本等分布式直觉
Linux 与 Shell
| 场景 | 常用命令 |
|---|---|
| 查日志 | tail -f, grep, journalctl |
| 调度脚本 | cron, 后续 Airflow 替代 ad-hoc cron |
| 文件传输 | scp, rsync, s3 cp(云环境) |
| 进程与资源 | top, df -h, free -m |
ETL 任务常在 Linux 容器或 VM 上跑;能在 SSH 里定位 OOM、磁盘满、权限错误 是基本功。
Git 与协作
管道即代码(Pipeline as Code):
repo/
dags/ # Airflow DAG
models/ # dbt SQL
tests/ # 数据质量断言
infra/ # Terraform / Compose
与 git-workflow 相同:feature 分支 → PR → main 触发 CI。schema 变更、SQL 逻辑都应有 review 与版本历史。
网络基础
- TCP/IP:数据库、Kafka、对象存储均走网络
- DNS / 负载均衡:多副本服务入口
- 防火墙与安全组:生产库不对公网开放
理解「任务跑在 k8s Pod 里,连的是内网 RDS 地址」即可;深入见 k8s-services。
分布式基础
| 概念 | 数据工程语境 |
|---|---|
| 分区(Partition) | 按日期切表、Kafka 分区并行消费 |
| 副本(Replica) | 数仓高可用、Kafka ISR |
| 一致性 | 批处理最终一致;流处理 at-least-once |
| 失败重试 | 任务幂等、断点续跑 |
与路线图的关系
- /roadmaps/data-engineer — Fundamentals 节点
- git-essentials — 版本控制
- docker-essentials — 容器化运行环境
练习
- 在 Linux/macOS/WSL 执行 与 ,记录输出含义