
👆点击图片马上报名👆
■ 前情回顾
在上文中,我们了解了如何在亚马逊云科技的云平台上构建智能湖仓,借此从指数级增长的海量数据中获取洞见,并帮助您快速灵活做出决策。这套智能湖仓方案首先指定中央数据湖,再围绕数据湖建立专用数据服务环,同时提供轻松易行的数据往来移动能力,帮助用户从容运用数据资源以及蕴藏其中的重要价值。
阅读原文:《在亚马逊云科技上构建智能湖仓(上)》
■ 本文摘要
本次我们将通过介绍一套参考架构,展示如何使用亚马逊云科技服务构建智能湖仓逻辑架构中的各个层。在这套方案中亚马逊云科技服务将托管以下工作:
提供并管理可扩展、具有良好弹性、安全且成本效益出色的基础设施组件;
确保各基础设施组件彼此原生集成。
这套方案将帮助您将主要精力集中在以下工作身上:
快速建立数据与分析管道;
显著加快新数据导入速度并从数据中获取洞见;
支持多个用户角色。
智能湖仓参考架构
下图所示为亚马逊云科技平台上的智能湖仓参考架构。

在以下章节中,我们将具体介绍各逻辑层的细节信息。
数据摄取层

智能湖仓参考架构中的摄取层包含一组专用的亚马逊云科技服务,负责将不同来源的数据摄取至智能湖仓存储层内。大部分摄取服务能够直接将数据传递至数据湖与数据仓库存储。此外,其中使用的定制化专用服务还能充分满足以下来源的连接性、数据格式、数据结构与数据速度等具体要求:
运营数据库源
软件即服务(SaaS)应用程序
文件共享
流式数据源
+
运营数据库源(OLTP、ERP、CRM 等)
摄取层中的 Amazon Data Migration Service (Amazon DMS) 组件能够接入多个运营 RDBMS 与 NoSQL 数据库,并将其中的数据摄取至数据湖内的 Amazon Simple Storage Service (Amazon S3) 存储桶中,或者直接摄取至 Amazon Redshift 数据仓库的 staging 表。借助 Amazon DMS,您可以一次性导入源数据,然后再复制源数据库的数据持续变化。
+
SaaS应用程序
摄取层使用 Amazon AppFlow 轻松将 SaaS 应用程序数据摄取至您的数据湖内。只需单击几下,您就可以在 Amazon AppFlow 中设置无服务器数据获取流。您的数据流可以接入多种 SaaS 应用程序(例如 Salesforce、Marketo 以及 Google Analytics)摄取数据,再将结果传递至智能湖仓存储层或者数据湖内的S3存储桶,也可以直接传递至 Amazon Redshift 数据仓库中的 staging 表。您可以调度 Amazon AppFlow 摄取流,或者根据 SaaS 应用程序内的事件进行即时触发。在将摄取数据传递至智能湖仓存储层之前,您还可以对数据内容加以验证、过滤、映射及脱敏。
+
文件共享
相当一部分应用程序会将结构化与非结构化数据存储在托管于网络附加存储(NAS)阵列上的文件中。Amazon DataSync 能够从启用 NFS 与 SMB 的 NAS 设备中快速将数百万个文件、数百TB大小的数据摄取至数据湖登陆区内。DataSync 不仅能够自动处理复制作业的脚本、调度并监控转移过程,还能够验证数据完整性并优化网络资源利用率。在完成一轮文件转移之后,DataSync 还可监控并将后续发生变更的文件同步至智能湖仓。更重要的是,DataSync 是一项完全托管服务,整个设置过程只需要几分钟。
+
流式数据源
摄取层使用 Amazon Kinesis Data Firehose 从内部或外部源处接收流式数据,并将其传递至智能湖仓存储层。只需单击几下,您就可以配置 Kinesis Data Firehose API 端点,供数据源发送流式数据——包括点击流、应用程序与基础设施日志及监控指标,以及设备遥测与传感器读数等物联网数据。Kinesis Data Firehose 将执行以下操作:
缓冲输入流;
对数据进行分批、压缩、转换、分区与加密;
将数据作为 S3 对象传递至数据湖,或作为行传递至 Amazon Redshift 数据仓库内的 staging 表。
Kinesis Data Firehose 为无服务器服务,不需要额外管理且提供成本模型,您只需要为通过该服务传输及处理的实际数据量付费。Kinesis Data Firehose 会自动伸缩以适应传入数据的规模及吞吐量。在构建实时流式分析管道期间,摄取层会直接提供 Amazon Kinesis Data Streams。
智能湖仓存储层

Amazon Redshift 与 Amazon S3 为本文中的智能湖仓参考架构提供了统一的原生集成存储层。一般而言,Amazon Redshift 负责存储高度规范化、符合标准要求的可信数据,这些结构化数据遵循标准维度 schema;对于其他结构化、半结构化与非结构化数据,则由 Amazon S3 提供EB级别的数据湖存储支持。但 Amazon Redshift 同样支持半结构化数据,供您在其中摄取及存储半结构化数据。Amazon S3 则提供行业领先的可扩展性、数据可用性、安全性与性能表现。开放文件格式允许您使用多种处理及消费层组件对同一批 Amazon S3 数据执行分析。公共目录层在 Amazon S3 中负责存储结构化或半结构化数据集的 schema。消费该 S3 数据集的组件通常会在读取数据集时,将这些 schema 应用于数据集(即 schema-on-read)。
Amazon Redshift Spectrum 是原生集成智能湖仓存储层中的核心组成部分之一。Redshift Spectrum 帮助 Amazon Redshift 提供一个统一的SQL接口,用以接收及处理 SQL 语句,并在同一查询内引用及合并托管在数据湖及数据仓库内的数据集。凭借数千个瞬态 Redshift Spectrum 节点配合 Amazon Redshift 的复杂查询优化功能,Amazon Redshift 能够高效查询存储在 Amazon S3 中的PB级数据。Redshift Spectrum 还能够查询S3数据湖内的分区数据,包括读取使用开源编解码器压缩的数据,并支持包括 JSON、CSV、Avro、Parquet、ORC 以及 Apache Hudi 在内的多种开源行或列式存储。关于更多详细信息,请参阅在 Amazon Redshift Spectrum 中为查询创建数据文件。
当 Redshift Spectrum 读取存储在 Amazon S3 中的数据集时,会将来自公共 Amazon Lake Formation 目录的相应 schema 应用于数据(即 schema-on-read)。借助 Redshift Spectrum,您可以建立起执行以下操作的 Amazon Redshift 原生管道:
使用 Redshift Spectrum 将大量历史数据保留在数据湖内,并将最近几个月的热数据摄取至数据仓库中;
处理附加存储内的热数据与数据湖中的历史数据,由此生成丰富数据集,全程无需执行任何数据移动操作;
将丰富数据集插入至附加存储中的表内,或者直接插入由数据湖托管的外部表中;
轻松将大量冷门历史数据由数据仓库转移至成本更低廉的数据湖存储内,且仍保证将其作为 Amazon Redshift 查询的一部分以供轻松获取。
Amazon Redshift 中的高度结构化数据通常负责为交互式查询及高度受信的即时商务智能仪表板提供支持;而 Amazon S3 内的结构化、非结构化与半结构化数据,则常被用于驱动机器学习、数据科学与大数据处理用例。
Amazon DMS 与 Amazon AppFlow 能够将数据从结构化来源直接传递至 S3 数据湖或 Amazon Redshift 数据仓库,充分满足用例的具体需求。在摄取数据文件之后, DataSync 会将数据存储至 Amazon S3。处理层组件可通过单一统一接口(例如 Amazon Redshift SQL)访问统一智能湖仓存储层内的数据,并由接口使用 Redshift Spectrum 将 Amazon Redshift 集群中存储的数据与 Amazon S3 的数据加以合并。
在 S3 数据湖内,结构化与非结构化数据均被存储为 S3 对象。数据湖内的各 S3 对象会按存储桶或前缀名称被划分为登陆区、原始区、受信区及策划区等几种类别。对于将数据存储在 S3 数据湖内的管道,数据将从来源处被直接摄取至登陆区内。接下来,处理层将验证登陆区数据并将结果存储在原始区内或添加相应前缀以供永久存储。之后,处理层对原始区数据执行 schema 、分区以及其他转换,确保数据达到一致状态,处理后的结果被统一存储在受信区内。最后一步,处理层对受信区数据集进行建模,再将结果与其他数据集进行合并以实施策划,最终结果被存储在策划层内。通常,来自策划层的数据集会被部分或全部纳入 Amazon Redshift 数据仓库中,以支持那些要求极低访问延迟、或者需要运行高复杂度 SQL 查询的用例。
各个区内的数据集,通常会根据相应区(原始、受信或策划区)消费模式的匹配键进行分区。参考架构使用 GZIP、BZIP 以及 Snappy 等开源编解码器对数据集所对应的 S3 对象执行压缩,借此降低存储成本并缩短处理层与消费层内的组件读取时间。数据集通常以 Parquet 及 ORC 等开源列式存储格式存在,以进一步减少处理层与消费层组件查询某些列子集时所需读取的数据量。 Amazon S3 提供一系列针对不同用例设计的存储类。其中 Amazon S3 智能分层存储类专门用于在不影响性能或运营开销的前提下,自动将数据转移至最具成本效益的访问层内。
Amazon Redshift 提供PB级数据仓库存储容量,用于存储按维度或非规范化 schema 建模的高度结构化数据。在 Amazon Redshift 上,数据将以高压缩比列式格式存储,并分布式存储在高性能节点集群上。各个节点最多提供64TB高性能托管存储容量。Amazon Redshift 会强制执行 schema-on-write、ACID事务与工作负载隔离等机制,借此保障数据的高质量与一致性。用户大多在 Amazon Redshift 上存储高一致性、统一、可信且受控的结构化数据集,借此满足高吞吐量、低延迟与高并发性用例。当然,您也可以使用 Amazon Redshift 中增量式刷新的物化视图,以显著提高商务智能仪表板中复杂查询的性能与吞吐量。
在通过各种来源获取数据并构建智能湖仓时,我们一般可以直接在整个数据湖及数据仓库中托管数百甚至数千个数据集。中央数据目录将统一为智能湖仓存储(数据仓库与数据湖)内的全部数据集提供元数据,这将大大降低搜索难度、保证智能湖仓能够始终保持良好的数据发现能力。此外,这种将元数据由数据湖托管数据分离至统一中央 schema 的处理方式,还可帮助处理层/消费层组件及 Redshift Spectrum 轻松实现 schema-on-read。
在本文的智能湖仓参考架构中,Lake Formation 提供的中央目录负责存储智能湖仓中托管的全部数据集的元数据(无论数据集实际存储在 Amazon S3 还是 Amazon Redshift 内)。用户可以将全部数据集的技术元数据(例如版本化表 schema、分区信息、物理数据位置以及更新时间戳等)与业务属性(例如数据所有者、数据管理者、列业务定义以及列信息敏感性等)存储在 Lake Formation 中。
大部分由数据湖托管的数据集,其 schema 都在不断变化、数据分区也在持续增加;而由数据仓库托管的数据集 schema 则大多以受控方式持续演进。Amazon Glue crawlers 能够跟踪数据湖托管数据集以及数据仓库数据集内不断变化的数据 schema 与新增分区,并在 Lake Formation 目录中为相应 schema 添加新的版本。此外, Lake Formation 还提供 API,供您使用自定义脚本及第三方产品实现元数据注册与管理。
Lake Formation 为数据湖管理员们提供了中央管理位置,可以为数据湖内托管的数据库和表设置细化的表级与列级权限。在设置 Lake Formation 权限之后,用户和各分组只能使用多个处理层与消费层服务(例如 Amazon Glue、Amazon EMR、Amazon Athena 以及 Redshift Spectrum 等)访问授权的表和列。
数据处理层

智能湖仓架构中的处理层提供多种专用组件,能够支持各类数据处理用例。为了匹配智能湖仓内各数据集的独特结构(平面表、多层或者非结构化)及速度(批量或流式),您可以灵活选择不同的专用处理组件。各个组件都能够面向 Amazon S3 与 Amazon Redshift (统称为智能湖仓存储)读写数据。
我们可以使用处理层组件构建数据处理作业,这些作业将使用以下接口对存储在数据仓库及数据湖内的数据进行读写:
Amazon Redshift SQL(配合 Redshift Spectrum)。关于更多详细信息,请参阅无需加载,Amazon Redshift Spectrum 将数据仓库库窬扩展至EB级别。
运行在 Amazon EMR 上的 Apache Spark 作业。关于更多详细信息,请参阅:
DataFrameReader 与 DataFrameWriter的 Spark 说明文档;
GitHub 上的用于 Apache Spark 的高效 Redshift 数据源——社区版 。
运行在 Amazon Glue 上的 Apache Spark 作业。关于更多详细信息,请参阅:
您可以使用 Amazon Glue crawlers 或 Lake Formation API ,将结果数据集中的元数据添加到 Lake Formation 中央目录内。
您也可以使用专用组件构建出能够实现以下功能的数据转换管道:
使用 Amazon Redshift (配合 Redshift Spectrum)、基于 SQL 的 ELT;
使用 Amazon Glue 或 Amazon EMR 实现的大数据处理;
使用 Amazon Kinesis 实现的近实时流式数据处理。关于更多详细信息,请参阅:
使用 Spark Streaming 在 Amazon Glue 上实现近实时流式数据处理。关于更多详细信息,请参阅新增功能——使用 Amazon Glue 实现无服务器流式 ETL。
使用 Spark Streaming 在 Amazon EMR 上实现近实时流式数据处理。关于更多详细信息,请参阅:
#基于 SQL 的 ELT
要在智能湖仓存储层中转换结构化数据,您可以使用您所熟悉的 SQL 语义构建起功能强大的 ELT 管道。这些 ELT 管道将使用 Amazon Redshift 中的大规模并发处理(MPP)功能以及 Redshift Spectrum 功能启动数千个瞬态节点,即时将处理容量扩展至PB级别。Amazon Redshift 上基于存储过程的这类 ELT 管道能够对以下对象进行转换:
由 Amazon DMS 或 Amazon AppFlow 直接传递至 Amazon Redshift staging 表的平面结构化数据;
使用开源文件格式(例如 JSON、Avro、Parquet 及 ORC 等)托管在数据湖内的数据。
在数据丰富期间,这些管道还可以使用 SQL 语句将内部维度表与 S3 数据湖内托管的大型事实表(使用 Redshift Spectrum 层)连接起来。在最后一步中,数据处理管道可以将经过策划、丰富与建模的数据插入至 Amazon Redshift 内部表或存储在 Amazon S3 中的外部表内。
#大数据处理
为了对智能湖仓存储层(Amazon S3 与 Amazon Redshift)上托管的大量半结构化、非结构化或高度结构化数据进行集成处理,您可以使用 Apache Spark 构建大数据处理作业,并在 Amazon Glue 或 Amazon EMR 上加以运行。这些作业可以使用 Spark 的原生及其他开源连接器进行访问,并将 Amazon Redshift 中存储的关系型数据同 Amazon S3 中存储的复杂平面或分层结构化数据结合起来。处理完成后,这些作业可以将结果数据集存储回 S3 数据湖、Amazon Redshift 数据仓库或者二者共同构成的智能湖仓存储层。
Amazon Glue 提供无服务器、按使用量计费的 ETL 功能,其 ETL 管道能够处理规模达数十TB的海量数据,且无需启动或管理任何服务器或集群。为了加快 ETL 开发,Amazon Glue 还能自动生成 ETL 代码并提供常用的数据结构与 ETL 转换(用于验证、清洗、转换及展平数据)。Amazon Glue 还提供内置功能,用于处理存储在 Amazon Redshift 以及 S3 数据湖内的数据。在同一作业之内,Amazon Glue 还可以加载并处理使用平面表格式存储的 Amazon Redshift 数据、以及其他使用常见开源格式(例如 CSV、JSON、Parquet 以及 Avro)存储的 S3 数据湖托管数据集。Amazon Glue ETL 作业可通过公共 Lake Formation 目录(Amazon Glue crawlers 会爬取 Amazon S3 及 Amazon Redshift 以获取数据)访问这些数据,借此以统一方式引用 Amazon Redshift 与 Amazon S3 托管表。Amazon Glue ETL 还能够对分区数据执行增量处理。此外,Amazon Glue 也提供触发器与工作流功能,可用于构建包含作业依赖项、并发运行等多个步骤的端到端数据处理管道。
您可以自动扩展 EMR 集群,满足PB级别大数据处理管道的严苛资源需求。这些管道还可以使用不同的 Amazon Elastic Compute Cloud (Amazon EC2) 竞价实例队列,进一步改善资源成本优化效果。关于实例选项的更多详细信息,请参阅支持的实例类型。
运行在 Amazon EMR 上的基于 Spark 数据处理管道能够实现以下功能:
开源 Spark-Amazon Redshift 连接器能够直接对 Amazon Redshift 数据仓库中的数据进行读取与写入。
要读取由数据湖托管的复杂结构化数据集 schema,Amazon EMR 上的 Spark ETL 作业可以接入 Lake Formation 目录。这是通过 Amazon Glue 兼容性配合亚马逊云科技身份与访问管理(IAM)策略共同实现,负责对指向 Amazon Glue 表以及底层 S3 对象的访问进行分别授权。同样,Spark 作业还可以使用 Spark-Amazon Redshift 连接器读取 Amazon Redshift 托管数据集的数据与 schema。您也可以使用 Spark 及 Apache Hudi 构建高效的增量数据处理管道 Amazon EMR。
#近实时 ETL
要执行多个现代分析用例,您需要以近实时方式执行以下操作:
摄取大量高频或流式数据;
验证、清洗与丰富数据;
将数据放入智能湖仓存储以供消费。
您可以使用以下方法构建起能够轻松扩展、并近实时处理大量数据的管道:
Amazon Kinesis Data Analytics for SQL/Flink;
在 Amazon Glue 或 Amazon EMR 上使用 Spark Streaming;
将 Kinesis Data Firehose 与 Amazon Lambda 相集成。
Kinesis Data Analytics、Amazon Glue 与 Kinesis Data Firehose 可帮助您建立起近实时数据处理管道,且无需创建或管理任何计算基础设施。Kinesis Data Firehose 与 Kinesis Data Analytics 管道能够弹性扩展以匹配源吞吐量,而基于 Amazon EMR 与 Amazon Glue 的 Spark Streaming 作业则可以根据指定的扩展参数、在几分钟内完成规模扩展。
基于 Kinesis Data Analytics for Flink/SQL 的流式管道通常会从 Amazon Kinesis Data Streams (位于我们智能湖仓架构的摄取层中)读取记录、对其进行转换,而后将处理完成的数据写入至 Kinesis Data Firehose。Spark Streaming 管道则通常从 Kinesis Data Streams (位于我们智能湖仓架构的摄取层中)读取记录、对其进行转换,而后将处理完成的数据写入至另一 Kinesis 数据流,且后者又接入 Kinesis Data Firehose 交付流。Firehose 交付流能够将处理后的数据交付至智能湖仓存储层内的 Amazon S3 或 Amazon Redshift。要构建起简单、不涉及状态转换的近实时管道,您可以将数据直接摄取至 Kinesis Data Firehose 中,并使用 Kinesis Data Firehose 调用的 Lambda 函数对传入记录进行微批处理。Kinesis Data Firehose 会将转换后的微批记录交付至智能湖仓存储层中的 Amazon S3 或 Amazon Redshift。
凭借着将数据交付至 Amazon S3 与 Amazon Redshift 的能力,Kinesis Data Firehose 得以为处理层中的近实时 ETL 管道提供统一的智能湖仓存储写入器接口。在 Amazon S3 上,Kinesis Data Firehose 可以将数据存储在有效的 Parquet 或 ORC 文件中,您可以灵活使用 ZIP、GZIP 及 Snappy 等开源编解码器对这些文件进行压缩。
数据消费层

我们的智能湖仓参考架构提供多种专用亚马逊云科技服务,能够让不同角色类型之间的数据消费方式互连互通,包括支持交互式 SQL 查询、商务智能与机器学习等多种分析用例。这些服务使用统一的智能湖仓接口访问存储在 Amazon S3、Amazon Redshift 以及 Lake Formation 目录中的所有数据与元数据。此外,各项服务还可以通过开放文件格式(例如 JSON、Avro、Parquet 以及 ORC)使用 Amazon Redshift 表中存储的平面关系数据以及 S3 对象中存储的平面或复杂结构化或非结构化数据。
#交互式 SQL
要使用交互式 SQL 探索智能湖仓内存储的所有数据,商务分析师与数据科学家可以使用 Amazon Redshift (配合 Redshift Spectrum) 或者 Athena 轻松实现。您可以运行 SQL 查询,这些查询会将 Amazon Redshift 集群中托管的平面、关系、结构化维度数据,连同 Amazon S3 中存储的TB级规模的平面或复杂结构化历史事实数据结合起来,而且允许在数据中使用 JSON、Avro、Parquet 以及 ORC 等开放文件格式。在 Amazon S3 中查询数据集时,Athena 与 Redshift Spectrum 都将获取存储在 Lake Formation 目录中的 schema,并将其应用于读取操作(schema-on-read)。您可以在 Athena 或 Amazon Redshift 各自的控制台上运行查询,也可以将面向 JDBC 或 ODBC 端点提交查询。关于更多详细信息,请参阅使用 ODBC 与 JDBC 驱动程序接入 Amazon Athena,以及在 Amazon Redshift 中配置连接。
Athena 能够针对存储在 Amazon S3 中的TB级数据运行复杂的 ANSI SQL,而且您无需预先将其加载至数据库内。Athena 具有无服务器特性,因此不存在需要设置或管理的基础设施,您只需要为运行查询所产生的数据扫描量付费。Athena 还提供联合查询功能,允许在同一 SQL 查询中将 Amazon S3 托管的事实数据与 Amazon Redshift 集群内托管的维度表结合起来。Athena 利用存储在 Lake Formation 目录内的数据集分区信息减少数据扫描量,由此更快提供结果并降低查询成本。您可以使用 Athena CTAS 语句存储重复的查询结果,这将进一步降低查询成本。
Amazon Redshift 提供强大的 SQL 功能,可对智能湖仓存储(跨 Amazon Redshift MPP 集群与 S3 存储湖)内的超大型数据集进行快速在线分析处理 (OLAP)。Amazon Redshift 还提供功能强大的查询优化器,能够通过类似于 PostgreSQL 的语法编写出复杂的用户查询,并生成可在 Amazon Redshift MPP 集群与 Redshift Spectrum 节点队列(以查询 Amazon S3 中的数据)上运行的高性能查询计划。Amazon Redshift 则提供结果缓存功能,可将同一查询的重复操作次数降低几个数量级,借此显著缩短查询运行时间。借助 Amazon Redshift 中的物化视图,您只需要对复杂 join 进行一次预先计算(后续以增量方式进行刷新),借此简化并加快用户所需编写的下游查询。Amazon Redshift 还提供并发扩展,可在几秒钟内启动更多瞬态集群,借此支持几乎无限数量的并发查询。您可以将查询结果写入回 Amazon Redshift 原生表或者 S3 数据湖上托管的外部表(使用 Redshift Spectrum)。
#机器学习
数据科学家们往往需要探索、整理并特征化各类结构化与非结构化数据集,为机器学习模型的训练作业做好准备。智能湖仓接口(用于将 Amazon Redshift 与 Athena 及 Spark 接口配合使用的交互式 SQL 接口)能够为数据科学家提供以下功能,由此大大简化并加快数据准备进程:
统一的 Lake Formation 目录,用于搜索及发现智能湖仓存储中托管的所有数据;
基于 Amazon Redshift SQL 与 Athena 的交互式 SQL 功能,用于访问、浏览及转换智能湖仓存储中的所有数据;
基于 Spark 的统一访问机制,能够整理并转换智能湖仓存储中托管的所有数据集(包括结构化与非结构化),并将其转换为特征集。
接下来,数据科学家可以将 Amazon SageMaker 接入智能湖仓的存储层并访问训练特征集,借此完成机器学习模型的开发、训练与部署。
SageMaker 是一项完全托管服务,提供一套名为 SageMaker Studio 交互式开发环境(IDE)以构建、训练及部署机器学习的各组件。在 Studio 中,您可以使用统一的可视化界面统一上传数据、创建新 notebook、训练及调整模型、在各步骤间往来移动以调整实验过程、比较结果并将模型部署至生产环境中。关于更多详细信息,请参阅 Amazon SageMaker Studio:第一款用于机器学习的完全集成开发环境。
SageMaker 还提供托管 Jupyter notebook,您只需单击几下即可启动 notebook。SageMaker notebook 提供弹性计算资源、git 集成、轻松共享、预置机器学习算法、几十种现成机器学习示例以及 Amazon Marketplace 集成功能,您可以轻松部署数百种经过预训练的算法。SageMaker notebook 还预先配置了所有主要深度学习框架,包括 TensorFlow、PyTorch、Apache MXNet、Chainer、Keras、Gluon、Horovod、Scikit-learn 以及 Deep Graph Library 等。
各机器学习模型在 SageMaker 托管的计算实例上进行训练,其中也包括成本效益极高的 EC2 竞价实例。您可以使用 SageMaker Experiments 组织多项训练作业,也可以使用 SageMaker 的内置算法、自定义算法或 Amazon Marketplace 提供的数百种算法构建训练作业。SageMaker Debugger 则提供对于模型训练作业的完全可见性。最后,SageMaker 也为机器学习训练作业提供强大的自动超参数调优选项。
只需要单击几下,您就可以将 SageMaker 训练完成的模型部署至生产中,并轻松通过一组完全托管 EC2 实例进行扩展。您可以在多种 EC2 实例类型中做出选择,并附加具有成本效益的 GPU 驱动实例实现推理加速。模型部署完成后,SageMaker 即可监控关键模型指标以提高推理准确性,同时检测一切概念漂移迹象。
#商务智能
Amazon QuickSight 提供无服务器功能,可供您轻松创建并发布包含丰富信息的交互式商务智能仪表板。商务分析师们可以使用 Athena 或 Amazon Redshift 的交互式 SQL 接口,通过智能湖仓存储中的数据为 QuickSight 仪表板提供素材支持。此外,您也可以直接将 QuickSight 接入可操作数据库(例如 MS SQL、Postgres)以及各类 SaaS 应用(例如 Salesforce、Square 以及 ServiceNow 等)。为了保证仪表板拥有出色的性能表现,QuickSight 还提供一款名为 SPICE 的内存缓存与计算引擎。SPICE 能够自动复制数据以实现高可用性,允许成千上万用户同时执行快速交互式分析,并有效保护底层数据基础设施。
QuickSight 凭借开箱即用、自动生成的机器学习洞见(包括预测、异常检测与叙述重点等)极大丰富了仪表板信息与视觉效果。QuickSight 与 SageMaker 原生集成,可在商务智能仪表板上实现其他基于机器学习模型的自定义洞见。您可以使用 QuickSIght 应用程序经由任意设备访问 QuickSight 仪表板,也可以将仪表板灵活嵌入至 Web 应用程序、门户与网站中。QuickSight 能够自动扩展至成千上万用户,并以经济高效的按会话计费方式提供极具性价比的服务体验。
总结
基于专用服务组合建立的智能湖仓架构将帮助您从海量数据中快速获取面向所有用户的洞察见解,同时充分预留升级空间,供您随后续发展随时引入新的分析方法与技术成果。
在本文中,我们介绍了多种专用亚马逊云科技服务,您可以利用它们构建起智能湖仓架构中的五个核心逻辑层。我们还提供多种选项,介绍如何在正确的工作中使用正确的亚马逊云科技服务以实现良好的灵活性与丰富的功能性。
关于更详尽的构建模式、演练以及构建智能湖仓架构各层的示例代码,请参阅以下资源:
使用 Apache Hudi, Amazon Glue, Amazon DMS 与 Amazon Redshift 为智能湖仓数据复制管道创建数据源;
运用 Apache Spark 与 Amazon Machine Learning 助力 Amazon Redshift Analytics;
更多干货内容我们下期再见!
本篇作者
Praful Kava
亚马逊云科技高级专业解决方案架构师
负责指导客户在亚马逊云科技平台上设计规划云规模分析管道。在工作之余,他喜欢与家人一同旅行并探索新的远足路线。
Changbin Gong
亚马逊云科技高级解决方案结构师
他与客户合作构建各类创新解决方案,帮助客户解决业务问题并快速使用亚马逊云科技服务。在工作之余,他喜欢读书、跑步和旅行。

END

亚马逊云科技专题技术日
6月17日,
带你一起探索
Amazon Graviton2 实例!
# 点击图片马上报名 #








