在本视频中,我们将听取数据专业人士分享他们日常工作中使用的数据工程工具、数据库和数据存储库。
访谈总结:数据工程生态系统
“数据工程的生态系统非常、非常广阔。”数据专业人士普遍需要使用一系列广泛的技术来应对不同的数据挑战。
一、常用数据库与存储
| 类别 |
工具/平台 |
备注 |
| 关系型数据库 (RDBMS) |
MySQL、IBM Db2、PostgreSQL、Microsoft SQL Server、MariaDB、AWS RDS |
广泛应用于事务系统和作为数据仓库。 |
| NoSQL 数据库 |
MongoDB、Cassandra |
用于处理非关系型和大数据。 |
| 图数据库 |
Neo4J |
用于处理复杂关系数据。 |
| 数据仓库 |
AWS Redshift |
Coursera 使用的主要数据仓库。 |
| 数据湖 |
AWS S3 |
用于存储原始数据。 |
| 云存储 |
多种云存储服务 |
用于归档和日常存储目的。 |
二、核心编程与脚本语言
| 语言/工具 |
用途 |
备注 |
| Python |
不可或缺。用于填补数据工程空间中缺失的功能。 |
- |
| Shell/Perl |
用于开发自己的脚本,在不同应用和供应商之间移动数据。 |
- |
| Java APIs |
用于在不同应用和供应商之间移动数据。 |
- |
三、数据管道与集成工具
| 工具 |
类别 |
功能描述 |
| Apache Airflow |
数据编排 |
用于创建和调度 ETL 管道(Coursera 正从内部工具转向使用 Airflow)。 |
| Apache Spark |
大数据处理 |
用于处理大数据。 |
| Apache Kafka |
流媒体 |
用于处理流式数据,以及将事务数据移动到后台数据库。 |
| Talend |
ETL 工具 |
提供 ETL 功能。 |
| SQL Server Integration Services (SSIS) |
数据移动 |
用于构建数据移动包(在非营利组织中使用)。 |
| Okada (Internal Tool) |
数据集成 |
在非营利组织中使用。 |
| Apache NiFi |
数据移动 |
推荐的开源工具,用于在异构数据源之间移动数据。 |
四、其他工程工具
| 工具 |
用途 |
| Beautiful Soup & Scrapy |
网络爬虫 |
| WebSphere MQ |
流媒体 |
| Git / GitHub |
代码管理 |
| Jenkins |
自动化 |
| Liquibase |
数据库管理 |
专业人士的经验与建议
数据库选择与经验
- IBM Db2:一位受访者职业生涯的大部分时间都在使用 IBM Db2(在 Linux、Unix 和 Windows 等中端平台上),并认为它在关系型数据库领域是一个绝佳的选择。
- AWS 产品:许多人与 AWS 产品(如 AWS Redshift、AWS S3、AWS RDS 上的各种数据库)有深度合作。
终身学习的重要性
- “数据工程是一个持续发展的领域,你需要成为一个终身学习者,并不断学习工作所需的技能以及解决正在尝试解决的问题。”
- 只要数据基础扎实,你就应该能够快速掌握这些新技术和技能。
开源项目的贡献
- Apache NiFi 等许多工具现在由 Apache 基金会等开源基金会维护。
- 高度推荐查看这些开源项目,因为代码是公开的,您可以深入了解源代码来学习产品和项目,如果有时间和热情,甚至可以做出贡献。