什么是数据工程?

在笔记本电脑上在线工作的女士

作者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是数据工程?

数据工程是设计和构建用于规模化聚合、存储和分析数据的系统的实践。数据工程师使组织能够从大型数据集实时获取洞察分析。

从社交媒体和营销指标到员工绩效统计和趋势预测,企业拥有所需的所有数据,可以全面了解其运营。数据工程师将大量数据转化为有价值的战略发现。

通过适当的数据工程,组织内的利益相关者(高管、开发人员、数据科学家和商业智能 (BI) 分析师)可以随时以可靠、方便和安全的方式访问他们需要的数据集。

组织可以访问的数据和数据类型比以往任何时候都多。每一点数据都可能为关键的业务决策提供信息。数据工程师负责数据管理以供下游使用,包括分析、预测或机器学习。

作为专业的计算机科学家,数据工程师擅长创建和部署算法、数据管道和工作流程,将原始数据分类为随时可用的数据集。数据工程是现代数据平台的必要组件,它使企业能够分析和应用所收到的数据,无论数据来源或格式如何。

即使在分散的数据网格管理系统下,数据工程师的核心团队仍然对基础设施的整体健康负责。

数据工程用例

数据工程师肩负着一系列日常责任。以下是数据工程的几个关键用例:

数据收集、存储空间和管理

数据工程师简化了整个组织的数据摄入和存储,使之便于访问和分析。通过高效存储数据并建立流程来以一种随着业务增长仍然易于维护的方式管理数据,这提升了可扩展性。DataOps 领域实现了数据管理的自动化,这要归功于数据工程师的工作。

实时数据分析

有了正确的数据管道,企业就能实现数据收集、清理和格式化流程的自动化,以便用于数据分析。当可以从一个位置访问大量可用数据时,数据分析师可以轻松找到他们需要的信息,以帮助业务领导者学习和做出关键战略决策。

数据工程师创建的解决方案为实时学习奠定了基础,因为数据流入数据模型,而数据模型可以作为组织在任何特定时刻状态的生动体现。

机器学习

机器学习 (ML) 使用大量数据来训练人工智能 (AI) 模型并提高其准确性。从许多电子商务平台上都能看到的产品推荐服务到快速增长的生成式 AI 领域,ML 算法已被广泛使用。机器学习工程师依靠数据管道将数据从收集点传输到使用数据进行训练的模型。

数据工程师和核心数据集

数据工程师构建的系统可将大量原始数据转化为可用的核心数据集,其中包含同事们所需的重要数据。否则,最终用户将很难访问和解释企业运营系统中分布的数据。

核心数据集是为特定下游用例量身定制的,旨在以可用的格式传达所有所需数据,不含多余信息。强大的核心数据集的三大支柱是:

1. 易于使用

数据即产品 (DaaP) 这种数据管理方法强调为最终用户提供可访问、可靠的数据。分析师、科学家、管理人员和其他企业领导者在访问和解读数据时应尽可能少地遇到障碍。

2. 基于情境

好的数据不仅仅是现在的快照,它还能通过传达一段时间内的变化来提供背景信息。强大的核心数据集将展示历史趋势,并为更具战略性的决策提供视角。

3. 全面

数据整合是将整个企业的数据聚合成统一数据集的实践,也是数据工程角色的主要职责之一。数据工程师使最终用户能够根据工作需要组合来自不同来源的数据。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

数据工程是如何运作的?

数据工程控制着数据管道的设计和创建,这些管道将原始的非结构化数据转换为统一的数据集,从而保证数据质量和可靠性。

数据管道构成了运行良好的数据基础设施的支柱,并受其所服务业务的数据架构要求的影响。数据可观察性是数据工程师监控其管道以确保最终用户收到可靠数据的实践。

数据整合管道包含三个关键阶段:

1. 数据摄取

数据提取是将各种来源的数据移动到单一生态系统的过程。这些来源可以包括数据库、Amazon Web Services (AWS) 等云计算平台、IoT 设备、数据湖和数据仓库、网站和其他客户接触点。数据工程师使用 API 将许多数据点连接到他们的管道中。

每个数据源都以特定的方式存储和格式化数据,数据可以是结构化的,也可以是非结构化的。结构化数据已经格式化,可以高效访问,而非结构化数据则不然。通过数据摄取,数据被统一到一个有组织的数据系统中,以便进一步完善。

2. 数据转换

数据转换可为最终用户(如管理人员或机器学习工程师)准备摄取后的数据。这是一项卫生活动,可以查找和纠正错误,删除重复的条目并规范化数据,以提高数据可靠性。然后,将数据转换为最终用户所需的格式。

3. 数据呈用

收集和处理数据后,就会将其交付给最终用户。实时数据建模和可视化、机器学习数据集和自动报告系统都是常见数据呈用方法的例子。

Mixture of Experts | 8 月 28 日,第 70 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

数据工程、数据分析和数据科学之间有什么区别?

数据工程、数据科学和数据分析是密切相关的领域。但是,每门学科都有自己的侧重点,在大型企业中扮演着独特的角色。这三个角色协同工作,以确保组织能够充分利用其数据。

  • 数据科学家利用机器学习、数据探索和其他学术领域来预测未来结果。数据科学是一个跨学科领域,专注于通过算法和统计模型做出准确的预测。与数据工程一样,数据科学也是一个代码繁重的角色,需要丰富的编程背景。

  • 数据分析师检查大型数据集以识别趋势并提取洞察分析,从而帮助组织做出数据驱动的决策。数据科学家应用先进的计算技术来处理数据,而数据分析师则使用预定义的数据集来发现关键信息并得出有意义的结论。

 

  • 数据工程师是构建和维护企业数据基础设施的软件工程师,他们负责实现数据整合自动化、创建高效的数据存储并通过管道可观测性提高数据质量。数据科学家和分析师依靠数据工程师为他们提供工作所需的可靠、高质量的数据。

数据工程师使用哪些数据工具?

数据工程角色由其专业技能组合定义。数据工程师必须精通多种工具和技术,才能优化整个组织中数据的流动、存储、管理和质量。

数据管道:ETL 与 ELT

在构建管道时,数据工程师使用脚本(执行重复任务的代码行)自动执行数据整合过程。根据组织的需求,数据工程师以两种格式之一构建管道:ETL 或 ELT。

ETL:提取、转换、加载。ETL 管道可自动检索和存储数据库中的数据。原始数据从源中提取,通过脚本转换成标准格式,然后加载到存储目的地。ETL 是最常用的数据整合方法,尤其是在将多个来源的数据合并为统一格式时。

ELT:提取、加载、转换。ELT 管道提取原始数据并将其导入集中式存储库,然后通过转换使之标准化。收集到的数据稍后可根据使用需要进行格式化,从而提供比 ELT 管道更高的灵活性。

数据存储解决方案

数据工程师创建的系统通常以数据存储解决方案开始和结束:从一个位置收集数据,对其进行处理,然后将其存储在管道末端的其他位置。

  • 云计算服务:熟练掌握云计算平台对于数据工程师职业的成功至关重要。Microsoft Azure Data Lake Storage、Amazon S3 和其他 AWS 解决方案、Google Cloud 和 IBM® Cloud 都是常用的平台。

  • 关系数据库:关系数据库根据预定义的关系系统来组织数据。数据被排列成行和列,形成一个表格,表达数据点之间的关系。这种结构使复杂的查询也能高效进行。分析师和工程师使用关系数据库管理系统 (RDBMS) 维护这些数据库。大多数 RDBMS 解决方案使用 SQL 来处理查询,其中 MySQL 和 PostgreSQL 是两种主要的开源 RDBMS 选择。

  • NoSQL 数据库:SQL 不是数据库管理的唯一选择。NoSQL 数据库使数据工程师无需依赖传统模型即可构建数据存储解决方案。由于 NoSQL 数据库不将数据存储在预定义的表中,因此用户可以更直观地工作,无需事先进行规划。与基于 SQL 的关系数据库相比,NoSQL 提供更大的灵活性以及更容易的水平可扩展性。

  • 数据仓库:数据仓库从整个企业收集和标准化数据,以建立单一可信信息源。大多数数据仓库由三层结构组成:存储数据的底层、支持快速查询的中间层和面向用户的顶层。虽然传统的数据仓库模型仅支持结构化数据,但现代解决方案可以存储非结构化数据。通过聚合数据并实时支持快速查询,数据仓库可以提高数据质量,更快地提供业务洞察,并支持数据驱动的战略决策。数据分析师可以从单个界面访问他们需要的所有数据,并从实时数据建模和可视化中获得益处。

  • 数据湖:数据仓库强调结构,而数据湖更像是一种存储大量结构化和非结构化数据的自由形式数据管理解决方案。与数据仓库相比,数据湖的使用更灵活,构建成本也更低,因为它们不需要预定义的模式。它们包含新的原始数据,尤其是非常适合训练机器学习系统的非结构化大数据。但是,如果没有足够的管理,数据湖很容易变成数据沼泽:杂乱无章的数据堆积如山,难以寻找。许多数据湖都建立在 Hadoop 产品生态系统之上,包括实时数据处理解决方案,例如 Apache Spark 和 Kafka。

  • 湖仓一体:湖仓一体是数据管理的下一个阶段。它们一定程度上弥补了数据仓库和数据湖模型的不足。湖仓一体将数据湖的成本优化与数据仓库的结构和卓越管理相结合,以满足机器学习、数据科学和 BI 应用的需求。

编程语言

作为一门计算机科学学科,数据工程需要对各种编程语言有深入的了解。数据工程师使用编程语言来构建他们的数据管道。

  • SQL(结构化查询语言)是主要的数据库创建和操作编程语言。它构成了所有关系数据库的基础,也可用于 NoSQL 数据库。

  • Python 提供了广泛的预构建模块来加速数据工程过程的许多方面,从使用 Luigi 构建复杂的管道到使用 Apache Airflow 管理工作流。许多面向用户的软件应用程序都使用 Python 作为其基础。

  • Scala 是处理大数据的理想选择,因为它与 Apache Spark 可以很好地融合。与 Python 不同,Scala 允许开发人员对多个并发原语进行编程并同时执行多个任务。这种并行处理能力使 Scala 成为管道构建的热门选择。

  • Java 是许多数据工程管道后端的热门选择。当组织选择构建自己的内部数据处理解决方案时,Java 通常是首选编程语言。它还支持以分析为重点的仓库工具 Apache Hive。

相关解决方案
分析工具和解决方案

企业要想蓬勃发展,就必须利用数据建立客户忠诚度,实现业务流程自动化,并利用 AI 驱动的解决方案进行创新。

深入了解分析解决方案
数据和分析咨询服务

通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

了解分析服务
IBM Cognos Analytics

推出 Cognos Analytics 12.0,人工智能驱动洞察分析可以更好地做出决策。

深入了解 Cognos Analytics
采取后续步骤

企业要想蓬勃发展,就必须利用数据建立客户忠诚度,实现业务流程自动化,并利用 AI 驱动的解决方案进行创新。

深入了解分析解决方案 了解分析服务