数据工程 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

数据工程

自动化和协调整个组织的数据流。

使用元数据自动处理原始数据并生成优化输出的管道。利用 AWS CAF 平台架构和平台工程能力以及运营视角中定义的现有架构护栏和安全控制。与平台工程支持团队合作,为简化管道部署的常见模式开发可重复使用的蓝图。 

启动

部署数据湖

通过为结构化和非结构化数据使用合适的存储解决方案,建立基础数据存储能力。这使您能够收集和存储来自各种来源的数据,并使这些数据可供进一步处理和分析。数据存储是数据工程策略的关键组成部分。精心设计的数据存储架构使组织能够高效、经济高效地存储、管理和访问其数据。 AWS 提供各种数据存储服务,以满足特定的业务需求。

例如,您可以使用亚马逊简单存储服务 (Amazon S3) Simple Service 进行对象存储,使用亚马逊关系数据库服务 (A mazon RDS) 存储关系数据库,使用亚马逊R edshif t进行数据仓库,从而建立基础的数据存储能力。这些服务可帮助您安全、经济高效地存储数据,并使数据易于访问以供进一步处理和分析。我们建议您同时实施数据存储最佳实践,例如数据分区和压缩,以提高性能并降低成本。

开发数据摄取模式

要自动化和协调数据流,请建立数据摄取流程以收集来自不同来源的数据,包括数据库、文件和。 APIs您的数据摄取流程应支持业务灵活性,并将治理控制考虑在内。

协调器应该能够运行基于云的服务,并提供自动调度机制。它应该为任务之间的条件链接和依赖关系提供选项,以及轮询和错误处理功能。此外,它还应与警报和监控系统无缝集成,以确保管道平稳运行。

一些流行的编排机制包括:

  • 基于时间的编排以递归间隔和定义的频率启动工作流程。

  • 基于事件的编排会根据发生的事件(例如创建文件或 API 请求)启动工作流程。

  • 轮询实现了一种机制,在这种机制中,任务或工作流程调用服务(例如,通过 API),等待定义的响应,然后再继续下一步操作。

现代架构设计强调利用托管服务,简化云端基础架构管理,减轻开发人员和基础架构团队的负担。这种方法也适用于数据工程。我们建议您在适用的情况下使用托管服务来构建数据摄取管道,以加快数据工程流程。这些类型的服务的两个例子是适用于 Apache Airflow 的亚马逊托管工作流程 (Amazon MWAA) 和: AWS Step Functions

  • Apache Airflow 是一款流行的编排工具,用于以编程方式编写、安排和监控工作流程。 AWS 将适用于 Apache Airflow 的亚马逊托管工作流程 (Amazon MWAA) 作为一项托管服务提供,使开发人员能够专注于构建而不是管理编排工具的基础设施。借助 Amazon MWAA,您可以使用 Python 脚本轻松创作工作流程。有向无环图 (DAG) 以显示每个任务的关系和依赖关系的方式将工作流表示为任务的集合。你可以随心所欲地运行 DAGs 它们,Apache Airflow 将根据每个任务的关系和依赖关系来运行它们。

  • AWS Step Functions帮助开发人员构建低代码的可视化工作流程,用于自动化 IT 和业务流程。您使用 Step Functions 构建的工作流程称为状态机,工作流程的每个步骤都称为状态。您可以使用 Step Functions 为内置错误处理、参数传递、推荐的安全设置和状态管理创建工作流。这减少了你必须编写和维护的代码量。任务通过与您在本地或云环境中托管的其他 AWS 服务或应用程序进行协调来执行工作。

加快数据处理

数据处理是理解现代组织收集的大量数据的关键一步。为了开始数据处理, AWS 提供托管服务,例如 AWS Glue,它提供了强大的提取、转换和加载 (ETL) 功能。Organizations 可以使用这些服务开始处理和转换原始数据,包括清理、标准化和聚合数据,为分析做好准备。

数据处理从聚合和筛选等简单技术开始,以执行初始数据转换。随着数据处理需求的发展,您可以实施更高级的 ETL 流程,使您能够从各种来源提取数据,对其进行转换以满足您的特定需求,然后将其加载到集中式数据仓库或数据库中进行统一分析。这种方法可确保数据准确、完整,并且可以及时进行分析。

通过使用 AWS 托管服务进行数据处理,组织可以从更高级别的自动化、可扩展性和成本效益中受益。这些服务可以自动执行许多常规数据处理任务,例如架构发现、数据分析和数据转换,并腾出宝贵的资源用于更具战略性的活动。此外,这些服务会自动扩展以支持不断增长的数据量。

提供数据可视化服务

想办法向使用数据可视化来有意义、快速地解释数据的决策者提供数据。通过可视化,您可以解释模式并提高不同利益相关者的参与度,无论他们的技术技能如何。一个好的平台使数据工程团队能够配置资源,从而快速提供数据可视化,而且开销很少。您还可以使用无需工程专业知识即可轻松查询数据存储的工具,从而提供自助服务功能。 考虑使用内置工具,该工具可以通过数据可视化和交互式仪表板提供无服务器商业智能,并且可以使用自然语言查询后端数据。 

提前

实现近乎实时的数据处理

数据处理是任何数据工程渠道的重要组成部分,它使组织能够将原始数据转化为有意义的见解。除了传统的批处理之外,在当今快节奏的业务环境中,实时数据处理也变得越来越重要。实时数据处理使组织能够在事件发生时做出响应,并提高决策和运营效率。

验证数据质量

数据质量直接影响从数据中得出的见解和决策的准确性和可靠性。实施数据验证和清理流程对于确保使用高质量和可信的数据进行分析至关重要。

数据验证包括根据预定义的规则和标准检查数据,从而验证数据的准确性、完整性和一致性。这有助于识别数据中的任何差异或错误,并确保其符合用途。数据清理涉及识别和纠正数据中的任何不准确之处、不一致之处或重复之处。

通过实施数据质量流程和工具,组织可以提高从数据中获得的见解的准确性和可靠性,从而改善决策和运营效率。这不仅可以提高组织的绩效,还可以提高利益相关者对所产生的数据和分析的信心和信任。

证明数据转换服务

数据转换为高级分析和机器学习模型准备数据。它涉及使用诸如数据标准化、充实和重复数据删除之类的技术来确保数据干净、一致且随时可供分析。

  • 数据标准化涉及将数据组织成标准格式,消除冗余,并确保不同来源的数据保持一致。这使得分析和比较来自多个来源的数据变得更加容易,并使组织能够更全面地了解其运营。

  • 数据丰富包括利用来自外部来源的额外信息(例如人口统计数据或市场趋势)来增强现有数据。这为客户行为或行业趋势提供了宝贵的见解,这些见解仅从内部数据源中可能看不出来。

  • 重复数据删除包括识别和删除重复的数据条目,并确保数据准确无误。在处理大型数据集时,这一点尤其重要,因为即使是很小比例的重复也可能使分析结果出现偏差。

通过使用先进的数据转换技术,组织可以确保其数据质量高、准确,并且可以进行更复杂的分析。这可以带来更好的决策、更高的运营效率和在市场上的竞争优势。

实现数据民主化

通过让所有员工都能访问、理解和使用数据,促进数据民主化文化。数据民主化可以帮助员工做出数据驱动的决策,并为组织的数据驱动文化做出贡献。这意味着要打破孤岛,创造一种文化,让所有员工共享和使用数据来推动决策。

总体而言,数据民主化就是要创造一种文化,在这种文化中,组织中的每个人都重视数据、访问和理解数据。通过实现数据民主化,组织可以培养一种数据驱动的文化,这种文化可以推动创新,改善决策,并最终导致业务成功。

Excel

提供基于用户界面的编排

要建立敏捷且使用有效方法的组织,重要的是要规划一个现代化的协调平台,供各业务部门的开发和运营资源使用。目标是在不依赖单一团队、技术或支持模式的情况下开发、部署和共享数据管道和工作流程。这是通过基于用户界面的编排等功能实现的。诸如 drag-and-drop交互之类的功能使几乎没有技术专业知识的用户能够构建 DAGs 和状态机器数据流。然后,这些组件可以生成编排数据管道的可执行代码。 

DataOps 帮助克服数据管理的复杂性,并确保组织间的数据流畅无阻。元数据驱动的方法可确保数据质量和合规性符合贵组织的规定。对微服务、容器化和无服务器功能等工具集的投资可以提高可扩展性和敏捷性。

依靠数据工程团队从数据中创造价值,将 day-to-day基础架构任务留给自动化,这使组织能够在自动化和协调方面实现卓越的目标。对数据流管理任务的近乎实时的监控和记录支持即时补救措施,并提高数据流管道的性能和安全性。这些原则有助于实现可扩展性和性能,同时确保数据共享模型的安全性,并为组织未来的成功做好准备。

整合 DataOps

DataOps 是一种现代的数据工程方法,它强调开发和运营流程的集成,以简化数据管道的创建、测试和部署。为了实施 DataOps 最佳实践,组织使用基础设施即代码 (IaC) 以及持续集成和持续交付 (CI/CD) 工具。这些工具支持自动化管道创建、测试和部署,可显著提高效率并减少错误。 DataOps 团队与平台工程支持团队合作构建这些自动化,因此每个团队都可以专注于自己最擅长的事情。 

实施 DataOps 方法有助于为数据工程师、数据科学家和业务用户营造协作环境,并实现数据管道和分析解决方案的快速开发、部署和监控。这种方法提供了更顺畅的跨团队沟通和协作,从而加快了创新速度并取得了更好的成果。

要充分利用的优势 DataOps,简化数据工程流程非常重要。这是通过使用平台工程团队的最佳实践来实现的,包括代码审查、持续集成和自动测试。通过实施这些实践,组织可以确保数据管道可靠、可扩展和安全,并满足业务和技术利益相关者的需求。