经典案例

无缝集成数据湖和数据仓库,使用 Amazon Redshift Spectrum 和 Amazon

无缝集成数据湖和数据仓库,使用 Amazon Redshift Spectrum 和 Amazon

高效整合数据湖与数据仓库:使用Amazon Redshift Spectrum与Amazon DataZone

作者:Lakshmi Nair与Srividya Parthasarathy,发布于2024年8月15日,原文链接

关键要点

解决孤立信息带来的挑战,通过数据网格框架实现数据共享和治理。利用Amazon DataZone与Amazon Redshift创建无缝的数据整合架构。中央IT团队负责数据处理,确保数据干净、标准化,使各业务单位更专注于数据分析,而非数据管理。Redshift Spectrum可以直接查询S3数据湖中的数据,提高了效率,避免数据复制和滞后问题。

真正释放数据的价值往往受到孤立信息的限制。传统的数据管理模式下,各个业务单元独立处理原始数据,造成了可见性和跨职能分析的障碍。采用数据网格框架,能够赋予各业务单元数据所有权并促进无缝共享。

然而,整合来自不同业务单元的数据集可能会面临诸多挑战。每个业务单元揭示的数据资产格式和颗粒度各异,并且采用了不同的数据验证检查。这种统一数据的需求额外增加了数据处理的工作量,迫使每个业务单元都要配置和维护独立的数据仓库。这对专注于消费经过整理的数据、而不关心数据管理、清洗或全面数据处理的业务单位造成了负担。

本文中,我们将探讨通过使用Amazon DataZone与Amazon Redshift搭建的一种强大的数据共享机制架构,实现数据湖与数据仓库之间的无缝对接。

解决方案概述

Amazon DataZone是一项数据管理服务,使各业务单元可以轻松地对其数据资产进行目录管理、发现、共享和治理。业务单元可以通过Amazon DataZone整理和暴露其特定领域的数据产品,提升数据的可发现性和受控访问。

Amazon Redshift是一个快速、可扩展的完全托管的云数据仓库,能够处理和运行复杂的SQL分析工作负载,支持结构化和半结构化数据。数千个客户利用Amazon Redshift的数据共享功能,实现对Amazon Redshift预配置集群和无服务器工作组的快速、细粒度的数据访问,无需移动或复制数据,即可将读写工作负载扩展至数千并发用户。Amazon DataZone原生支持对Amazon Redshift数据资产的数据共享。通过Amazon Redshift Spectrum,可以使用Amazon Redshift数据仓库的中央AWS Glue元存储查询存储在Amazon简单存储服务 (Amazon S3) 数据湖中的数据。这一能力将您的PB级Redshift数据仓库扩展到无限的数据存储限制,实现成本效益的EB级数据存储扩展。

下图展示了使用Amazon DataZone实施的典型分布式和协作架构模式。业务单元可以通过发布和订阅数据资产轻松共享数据和协作。

中央IT团队Spoke N从各个业务单元订阅数据,并利用Redshift Spectrum消费这些数据。中央IT团队对已订阅的数据执行标准化工作,包括模式对齐、数据验证检查、数据整理以及通过添加额外上下文或派生属性来丰富最终数据资产。经过处理的统一数据可以作为新的数据资产在Amazon Redshift管理存储中持久化,以满足业务单元的服务水平协议(SLA)要求。中央IT团队生成的新的处理数据资产随后将重新发布到Amazon DataZone中。通过Amazon DataZone,单个业务单元可以发现并直接消费这些新的数据资产,从而获得对组织数据的全面洞察360度见解。

中央IT团队管理统一的Redshift数据仓库,处理所有数据整合、处理和维护工作。业务单元可以访问干净且标准化的数据。为了消费数据,业务单元可以选择提供的Redshift集群以满足高流量需求,或使用Amazon Redshift Serverless进行按需分析。该模式使各单位能够专注于洞察,同时将成本与实际消费挂钩。这使得各业务单元能够从数据中获得价值,而无需承担数据管理任务的压力。

这种简化的架构方法提供了多个优势:

优势描述单一真相来源中央IT团队作为所有业务单元集成和整理数据的保管人,提供统一和一致的数据集。消除对业务单元的依赖Redshift Spectrum使用元数据层直接查询S3数据湖中的数据,消除了数据复制的需要。消除陈旧数据避免数据复制,同时消除了多个位置存在的陈旧数据的风险。增量加载中央IT团队可以直接查询数据湖中的数据,灵活选择所需的相关列进行统一分析和聚合。联合治理Amazon DataZone促进集中治理政策,为各业务单元提供一致的数据访问和安全性。增强的成本划分和效率这一方法将数据处理的成本开销限制于中央IT团队,业务单元仅需消费数据,从而清晰界定消费成本和设定上限。

本文中,我们将利用一个简化的用例,如下图所示,描述如何利用Redshift Spectrum和Amazon DataZone搭建数据湖与数据仓库之间的桥梁。

承保业务单元使用AWS Glue整理数据资产,并在Amazon DataZone中发布数据资产Policies。中央IT团队从承保业务单元订阅这一数据资产。

我们将重点介绍中央IT团队如何使用Redshift Spectrum消费已订阅的数据湖资产,并创建新的统一数据资产。

前提条件

在开始之前确保以下前提条件已满足:

AWS账号 您应具备有效的AWS账号。如果没有,请参考如何创建和激活新的AWS账号。Redshift数据仓库 您可以根据创建示例Amazon Redshift集群中的指引建立一个预配置集群,或按开始使用Amazon Redshift Serverless数据仓库中的指引配置无服务器工作组。Amazon DataZone资源 需要为Amazon DataZone创建一个域、一个Amazon DataZone项目以及一个新的Amazon DataZone环境包括自定义AWS服务蓝图。数据湖资产 来自业务单元的数据湖资产Policies应已接入Amazon DataZone,并被中央IT团队订阅。要了解如何关联多个账户和使用Amazon Athena消费已订阅的资产,请参考使用关联账户发布和消费数据。中央IT环境 中央IT团队已创建一个名为envcentralteam的环境,并使用现有的AWS身份与访问管理IAM角色customrole来授予Amazon DataZone对AWS服务和资源的访问权限,包括Athena、AWS Glue和Amazon Redshift。为了将所有订阅的数据资产加入公共的AWS Glue数据库,中央IT团队配置了一个订阅目标,并使用centraldb作为AWS Glue数据库。

IAM角色 请确保您希望在Amazon DataZone环境中启用的IAM角色具有所需的访问AWS服务和资源的权限。以下示例策略提供了足够的AWS Lake Formation和AWS Glue权限以访问Redshift Spectrum:

json{ Version 20121017 Statement [{ Effect Allow Action [ lakeformationGetDataAccess glueGetTable glueGetTables glueSearchTables glueGetDatabase glueGetDatabases glueGetPartition glueGetPartitions ] Resource }]}

如以下屏幕截图所示,中央IT团队已订阅了数据Policies。数据资产被添加到envcentralteam环境中。Amazon DataZone将使用customrole来帮助将环境用户(centraluser)与Athena中的操作链接进行联邦。已订阅资产Policies被添加至centraldb数据库。该资产随后通过Athena进行查询和消费。

中央IT团队的目标是使用Redshift Spectrum消费已订阅的数据湖资产Policies。这些数据将进一步处理并整理到中央数据仓库,利用Amazon Redshift Query Editor v2存储为Amazon Redshift管理存储中的单一真相来源。在接下来的部分中,我们将展示如何通过Redshift Spectrum消费已订阅的数据湖资产Policies,而无需复制数据。

自动挂载访问权限到Amazon DataZone环境角色

Amazon Redshift 自动挂载AWS Glue数据目录到中央IT团队账号中作为一个数据库,允许其使用三部分符号查询数据湖表。这在Admin角色下默认可用。

要为环境角色(customrole)授予挂载的数据目录表所需的访问权限,请完成以下步骤:

使用Amazon DataZone深层链接登录到Amazon Redshift Query Editor v2。在Query Editor v2中,选择您的Redshift无服务器端点,然后选择编辑连接。在认证中选择联邦用户。在数据库中输入您想要连接的数据库名称。获取当前用户的IAM角色,如下图所示。

使用数据库用户名和密码认证的方法连接至Redshift Query Editor v2。例如,使用管理员用户名和密码连接到dev数据库。对环境用户角色customrole授予对awsdatacatalog数据库的使用权限将currentuser替换为您复制的值:

sqlGRANT USAGE ON DATABASE awsdatacatalog to IAMRcurrentuser

使用Redshift Spectrum查询

通过联邦用户认证方法,登录到Amazon Redshift。中央IT团队将能够查询已订阅的数据资产Policiestable policy,该资产自动挂载在awsdatacatalog下。

聚合表并统一产品

中央IT团队对来自所有业务单元的数据资产进行必要的检查和标准化,以实现聚合和统一,使其保持一致的颗粒度。如下图所示,Policies和Claims这两个数据资产被组合形成一个统一的聚合数据资产aggfraudulentclaims。

飞驰加速器永久免费版

这些统一的数据资产随后重新发布回Amazon DataZone中心枢纽,以供业务单元消费。

中央IT团队还将数据资产卸载到Amazon S3,以便各业务单元可以灵活使用Redshift Serverless数据仓库或Athena进行数据消费。现在每个业务单元都可以对其各自的数据仓库的消费进行隔离并设置上限。

由于中央IT团队的初衷是希望在数据仓库中消费数据湖资产,推荐的解决方案是在一个环境中使用自定义AWS服务蓝图进行部署。在本例中,我们创建了一个环境envcentralteam来使用Athena或Amazon Redshift消费资产。这加速了数据共享过程的开发,因为同一环境角色用于管理多个分析引擎中的权限。

清理

要清理您的资源,请执行以下步骤:

删除您创建的任何S3桶。在Amazon DataZone控制台中,删除本帖使用的项目。这将删除大多数与项目相关的对象,例如数据资产和环境。删除Amazon DataZone域。在Lake Formation控制台中,删除Amazon DataZone注册的Lake Formation管理员以及由Amazon DataZone创建的表和数据库。如果您使用了预配置的Redshift集群,请删除该集群;如果您使用了Redshift Serverless,请删除本帖创建的任何表。

结论

在本文中,我们探讨了利用Amazon DataZone和Redshift Spectrum实现数据湖与数据仓库之间无缝共享的一种模式。我们讨论了与传统数据管理方法、数据孤岛以及维护各个数据仓库的负担相关的挑战。

为了降低运营和维护成本,我们提出了一种解决方案,利用Amazon DataZone作为数据发现和访问控制的中心枢纽,使业务单元可以轻松共享各自领域的数据。中央IT团队通过Redshift Spectrum直接查询和分析各业务单元的数据湖中的数据,以整合和统一数据。这样就避免了创建单独的数据复制任务以及在多个位置存在的数据重复。

团队还负责将所有数据资产带到相同的颗粒度,并处理统一数据资产。这些组合数据产品随后可以通过Amazon DataZone与各业务单元共享。业务单元可以专注于消费与其领域无关的统一数据资产,这样就能在所有业务单元中有效控制和严格监控处理成本。中央IT团队还可以根据各业务单元对统一产品的消费实施按量收费机制。

要了解更多关于Amazon DataZone及如何开始的信息,请参考开始使用文档。您还可以查看YouTube播放列表以获取一些最新的Amazon DataZone演示及其功能信息。

关于作者

Lakshmi Nair 是AWS的高级分析专业解决方案架构师,专注于跨行业设计先进的分析系统,构建基于云的数据平台,实现实时流处理、大数据处理以及强大的数据治理。

Srividya Parthasarathy 是AWS Lake Formation团队的高级大数据架构师,热衷于在AWS上构建分析和数据网格解决方案,并与社区分享。

标签:Amazon Redshift Spectrum,数据治理

无缝集成数据湖和数据仓库,使用 Amazon Redshift Spectrum 和 Amazon

  1. 如何构建智能互动语音响应IVR呼叫路由系统 商业生产力 如何构建智能互动语音响应IVR呼叫路由系统 商业生产力

    构建智能互动语音应答IVR呼叫路由系统的指南关键要点互动语音应答IVR系统允许来电者通过电话与各种业务系统进行交互。通过Amazon Chime SDK PSTN音频服务结合Amazon Lex,可以构建智能路由的IVR。本文将讲解创建一个简单IVR的步骤,并智能路由呼叫。许多企业运营互动语音应答I...

  1. 通过 AWS 学院培养下一代云人才 培训与认证博客 通过 AWS 学院培养下一代云人才 培训与认证博客

    培养下一代云计算人才:AWS Academy由妮可普莱斯Nicole Price于 2023 年 10 月 9 日发布在公告,AWS 培训与认证永久链接 分享关键要点随着数字转型和云计算的发展,云技能专业人员的需求急剧上升。AWS Academy 提供免费的云计算课程,帮助学生获得行业认可的证书。迄...