借助 AWS Lake Formation 构建云上数据湖 王晓野,AWS 解决方案架构师
议程 企业数据分析平台的演变基于 Amazon S3 的 AWS 云上数据湖架构 AWS Lake Formation 介绍及 demo 演示
数据分析平台的演变 生产数据库 ( 主库 ) 供分析的数据库 ( 从库 ) 在线应用 (OLTP) SQL RDBMS 数据库 RDBMS 数据库 SQL 离线分析 (OLAP) RDBMS 为在线平台设计, 不适合分析
数据分析平台的演变 生产数据库 ( 主库 ) 供分析的数据库 ( 从库 ) 在线应用 (OLTP) SQL RDBM S 数据库 RDBM S 数据库 日志 爬虫数据 第三方数据 ETL? Data Warehouse 数据仓库 SQL 离线分析 (OLAP) 数据仓库的容量限制 性能瓶颈 成本 如何存储非结构化数据 Schema-on-Write, 不能直接存储非预期数据
数据分析平台的演变 生产数据库 ( 主库 ) 供分析的数据库 ( 从库 ) SQL RDBMS 数据库 RDBMS 数据库 ETL Data Warehouse 数据仓库 SQL 在线应用 (OLTP) 日志 爬虫数据 第三方数据 HDFS Map Reduce HBase Java Java 离线分析 (OLAP) Hadoop 数据分析人员需要学习新的语言 Hadoop 需要新的数据工程师 ( 数据库背景, 研发背景工程师比例出现变化 )
LAMBDA 架构与实时计算 Lambda architecture Nathan Marz http://lambda-architecture.net/
企业数据分析平台的演变 生产数据库 ( 主库 ) 供分析的数据库 ( 从库 ) 在线应用 (OLTP) SQL RDBMS 数据库 日志 爬虫数据 第三方数据 NoSQL DB (MongDB,Cass andra,etc.) RDBMS 数据库 HDFS YARN ETL Data Warehouse 数据仓库 Hive Presto Spark Flink SQL SQL* 离线分析 (OLAP) & 实时分析 Hadoop
基于 Lambda 架构的欣和数据湖设计 实时处理层 实时 / 流数据 分布式消息列 7x24 实时处理集群 NoSQL 实时数据库 1 实时分析 批量处理层 分批数据数据库数据 文本数据 不规则数据 文字图片 欣和自建集成组件分布式 ( 对象储存 ) 自建 RDS Sqoop Java 集成应用 可做本地备份 贴源层 模型层 历史结果层 云数据仓库 数据集市 模型层 弹性处理集群 redshift 数据服务层 数据服务 API 自助报表 仪表盘 数字产品 数据治理 数据挖掘 元数据搜索 ( 自建 ) 元数据管理 ( 自建 ) 数据挖掘分布式 ( 对象储存 ) 无需备份 监控与日志预警 弹性建模集群 数据服务平台接口 数字产品 数据挖掘工具
某车企全球数据湖架构 核心价值 : 使用数据为数字客户和企业软件提供支持 连接车辆客户生态系统 API 首先 用于轻松访问数据的层 ( 例如实时, 批处理 ) 统一数据 API ^ 数据湖 统一身份和访问管理 围绕最先进的云服务 (AWS) 构建 在不同市场快速建立基础设施 以单点真相提供与市场相关的数据资产 本地数据湖 数据网格 支持各种数据资产的自助数据集成 数据管理和编目市场中的数据资产 关系数据 物联网传感器数据 客户管理系统 经销商管理系统
数据湖 实现数据变成资产 业务目标 数字化经济, 数据驱动业务 提升企业运营效率 预判发展趋势, 提升企业竞争力 技术目标 停止丢弃数据 分析无处不在, 采用多种技术 自动化, API 化 赋能给更多用户, 建立数据探索能力 敏捷, 自助式服务 协作, 促进企业内部协作 建立数据探索能力 Reactive Predictive 敏捷, 协作经济 被动式自助式
议程 企业数据分析平台的演变基于 Amazon S3 的 AWS 云上数据湖架构 AWS Lake Formation 介绍
AWS 云上数据分析平台的创新 1985: Data Warehouse Appliances 2012: Amazon Redshift Cloud DW Customer VPC Compute Node Compute Node Compute Node Compute Node BI tools Analytics toolssql clients JDBC/ODBC Internal VPC Shared Storage Tier (NAS Appliance) 10 GigE (HPC) Leader node 昂贵的商业授权 完全定制的高性能硬件, 只能从厂商采购 Ingestion Backup Restore Compute node Compute node Compute node
AWS 云上数据分析平台的创新 2006: Hadoop Clusters 2009: Decoupled EMR Architecture Hadoop Master Node Hadoop Master Node CPU Memory HDFS Storage CPU Memory HDFS Storage CPU Memory HDFS Storage CPU Memory CPU Memory CPU Memory S3 as HDFS
AWS 云上数据分析平台的创新 Today: Clusterless 改进 Athena for SQL SQL Interface in web browser Glue for ETL Spark & Hive Interface in web browser 无需管理集群 / 基础设施 业务人员及分析师可以无需提前规划集群直接提交 SQL 编写分析查询 按请求计费 零运维管理 无需数据移动 不足 开发语言 / 框架目前仅限于 SQL / Spark S3 Data Lake S3 Data Lake
Amazon Simple Storage Service (Amazon S3) AWS 的第一个云服务 (2006) 99.999999999% 数据持久性 不限对像格式 存储无上限 按使用付费, 价格便宜 支持事件驱动的自动化 替换 HDFS, 解耦计算与存储 与多种分析方式深度集成 Amazon Redshift Amazon QuickSight Amazon EMR Amazon Athena Amazon S3 Amazon Kinesis Amazon Elasticsearch Service AI Services Amazon Snowbal l AWS Snowmobile Amazon Kinesis Video Streams Amazon Kinesis Amazon Data Streams Kinesis Data Firehose
企业数据湖示例架构 数据源数据集成层企业数据湖服务层访问层 Raw Data Zone Trusted Data Zone OLTP ERP CRM Devices AWS Transfer for SFTP Amazon S3 Amazon S3 Amazon Redshift Discovery Sandbox Zone 查询引擎 Amazon Athena ML R Python Cube SageMaker 即时查询 报表 / 仪表盘 机器学习 Web Social Amazon Kinesis ETL & Data Process Amazon EMR for Spark Streaming, Hive Amazon S3 AWS Glue 搜索引擎 Amazon Elasticsearch Service 数据分析 日志分析 / 企业搜索 元数据管理作业与调度脚本开发用户与访问事件管理 监控与通知 AWS Glue
Epic Games 数据湖架构 N E A R R E A L T I M E P I P E L I N E NEAR REALTIME PIPELINES Grafana Game clients Game servers Spark on EMR User ETL (metric definition) DynamoDB Scoreboards API Limited Raw Data (real time ad-hoc SQL) Launcher Kinesis N E A R R E A L T I M E P I P E L I N E BATCH PIPELINES Game services S3 Databases APIs Other sources ETL using EMR S3 (Data Lake) Tableau/BI Ad-hoc SQL 125,000,000+ 玩家 数据为游戏设计师提供持续的反馈循环最新的玩家满意度分析, 提高玩家参与度创造出全世界深受欢迎的游戏
数据流水线 Equinox Fitness Cubs 是一家集运动, 营养和再生为一体的专注于高端生活品质的公司 Equinox 使用连接到 Apple Health 的应用程序构建了互联体验, 并在其运动设备中实时收集数据 Amazon EMR S3 Athena Glue Data Catalog Redshift Spectrum Adobe Analytics S3
议程 企业数据分析平台的演变基于 Amazon S3 的 AWS 云上数据湖架构 AWS Lake Formation 介绍
AWS Lake Formation 在数日内构建安全的数据湖 识别 接入 清洗 转换数据 跨多种服务的增强安全措施 获得更多的业务洞见能力
搭建数据湖的基本步骤 1 初始化存储 2 迁移数据 4 确保安全性和合规性 3 清洗 准备数据 & 元数据管理 5 数据分析
示例步骤 ETL access jobs to load clean services data Configure from and analytics Find sources Map Storage tables toservice Amazon(Amazon S3 locations RinseCreate and repeat for other: Amazon Simple S3) locations Configure access policies data sets, users, and end-services Create metadata access policies And more: manage and monitor ETL jobs update metadata catalog as data changes update policies across services as users and permissions change manually maintain cleansing scripts create audit processes for compliance Manual Error-prone Time consuming AWS 中国 宁夏 区域由西云数据运营 AWS 中国 北京 区域由光环新网运营
搭建一个完整的数据湖仍然需要数月的时间
Lake Formation 价值主张 Data Lakes and analytics on AWS 快速构建数据湖 Identify, crawl, and catalog sources Ingest and clean data Transform into optimal formats 简化安全管理 Enforce encryption Define access policies Implement audit login 轻松安全地自助访问数据 Analysts discover all data available for analysis from a single data catalog Use multiple analytics tools over the same data OLTP ERP IAM KMS AI Services CRM Athena LOB Device s Sensors Data Catalog Amazon EMR We b Social Kinesis S3 Amazon Redshift Amazon QuickSight
核心模块 Blueprints / Workflow - ETL 任务工作流元数据及分区管理的模版 基于 ML 算法的数据转换 基于机器学习的数据转换算法, 解决特殊场景问题 ( 如 : 基于多列属性的数据去重 ) 增强的数据治理层 - 在元数据管理层增强权限管控及治理能力 增强的元数据管理 允许用户添加更丰富元数据信息, 为数据添加标签 ( 库, 表, 列级别 )
AWS Lake Formation 的简单四步
轻松地导入数据 Blueprints 导入模板 数据库 Lake Formation 一次性全量导入 Data import Access Data Control Catalog Crawlers ML-based data prep 日志 logs Data Lake Storage 增量导入
Blueprints build on AWS Glue
Blueprints & Workflows Blueprints 是数据摄取 转换 元数据 (schema) 和分区管理的模板. Blueprints 帮助客户快速 轻松地构建和维护一个数据湖 Templates 你 1. 数据源在哪里 2. 目标数据湖存储位置 3. 设定多久装载一次数据 Blueprints 1. 自动发现源数据 Schema 2. 自动进行源和目标表的数据转换 3. 自动数据分区 4. 作业状态跟踪 5. 灵活客户化 Blueprints 模板
Blueprints & Workflows
使用 ML transforms 轻松识别相同数据 https://www.youtube.com/watch?v=g34xuaj4wi4
EMR 权限管理 : Kerberos & Apache Ranger https://docs.aws.amazon.com/emr/latest/manageme ntguide/emr-kerberos-options.html https://aws.amazon.com/blogs/bigdata/implementing-authorization-and-auditingusing-apache-ranger-on-amazon-emr/
Lake Formation 权限管理 : 一次型配置控制不同访问方式 1. 设置用户访问权限 Admin Lake Formation 3. 接受调用的访问将用户的认证信息发送到 lakeformation Access Control Data Catalog 4.Lakeformation 返回临时凭证给用户 2. 用户尝试访问数据湖中的数据 Data Lake Storage
Lake Formation 中的安全控制与授权 使用简单的 grant 和 revoke 管理权限 指定对表和列的权限, 而不是对存储桶和对象的权限 轻松查看和管理用户权限 集中审计功能
表及列级别的访问控制 User 2 User 1
AWS Lake Formation 的安全实现 用户 Amazon S3
跨用户的搜索和协作 基于所有元数据的文本搜索 基于文本的搜索和过滤 添加数据所有者 管理员等属 性作为表属性 添加数据敏感级别 列定义等 作为列属性 在 Athena 中查询数据
进阶的数据目录 / 元数据管理
进阶的数据目录 / 元数据管理
进阶的数据目录 / 元数据管理
实时的审计和监控 控制台显示详细的告警信息 下载审计日志供进一步分析 数据接入和元数据信息操作事件自动集成到 Amazon CloudWatch 中供追溯
DEMO: 三步走创建数据湖 使用模板导入数据 设置数据权限在不同用户间共享数据 使用 Athena 查询数据
Step 1: 使用 blueprint 模板导入数据
导入的数据以表的形式存在于数据湖中
Step 2: 设置用户权限
Step 3: 通过 Athena 查询数据 不同用户看到不同的内容
感谢参加 AWS 在线研讨会 我们希望您喜欢今天的内容! 也请帮助我们完成反馈问卷 欲获取关于 AWS 的更多信息和技术内容, 可以通过以下方式找到我们 : 微信公众号 :AWSChina 新浪微博 :https://www.weibo.com/amazonaws/ 领英 :https://www.linkedin.com/company/aws-china/ 知乎 :https://www.zhihu.com/org/aws-54/activities/ 视频中心 :http://aws.amazon.bokecc.com/ 更多线上技术活动 :https://aws.amazon.com/cn/about-aws/events/webinar/