
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了数据湖的概念与架构方式等基础知识点,而本文我们就继续来学习一下,数据湖应用方案包含哪些内容。
数据流入
数据流入是整个数据湖构建的起始,包括元数据的流入和业务数据流入两个部分。
元数据流入包括数据源创建、元数据抓取两步,终会形成数据资源目录,并生成对应的安全设置与访问控制策略。解决方案提供专门的组件,获取外部数据源的相关元信息,该组件能连接外部数据源、检测数据格式和模式(schema),并在对应的数据资源目录中创建属于数据湖的元数据。
业务数据的流入是通过ETL来完成的。
在具体的产品形式上,元数据抓取、ETL和数据准备AWS将其单独抽象出来,形成了一个产品叫AWSGLUE。AWSGLUE与AWSLakeFormation共享同一个数据资源目录,在AWSGLUE官网文档上明确指出:“EachAWSaccounthasoneAWSGlueDataCatalogperAWSregion”。
对于异构数据源的支持。AWS提供的数据湖解决方案,支持S3、AWS关系型数据库、AWSNoSQL数据库,AWS利用GLUE、EMR、Athena等组件支持数据的自由流动。
数据沉淀
采用AmazonS3作为整个数据湖的集中存储,按需扩展/按使用量付费。
数据计算
整个解决方案利用AWSGLUE来进行基本的数据处理。GLUE基本的计算形式是各类批处理模式的ETL任务,任务的出发方式分为手动触发、定时触发、事件触发三种。不得不说,AWS的各类服务在生态上实现的非常好,事件触发模式上,可以利用AWSLambda进行扩展开发,同时触发一个或多个任务,极大的提升了任务触发的定制开发能力;同时,各类ETL任务,可以通过CloudWatch进行很好的监控。
数据应用。
在提供基本的批处理计算模式之外,AWS通过各类外部计算引擎,来提供丰富的计算模式支持,例如通过Athena/Redshift来提供基于SQL的交互式批处理能力;通过EMR来提供各类基于Spark的计算能力,包括Spark能提供的流计算能力和机器学习能力。
权限管理
AWS的数据湖解决方案通过LakeFormation来提供相对完善的权限管理,粒度包括“库-表-列”。但是,有一点例外的是,GLUE访问LakeFormation时,粒度只有“库-表”两级;这也从另一个侧面说明,GLUE和LakeFormation的集成是更为紧密的,GLUE对于LakeFormation中的数据有更大的访问权限。
LakeFormation的权限进一步可以细分为数据资源目录访问权限和底层数据访问权限,分别对应元数据与实际存储的数据。实际存储数据的访问权限又进一步分为数据存取权限和数据存储访问权限:
数据存取权限类似于数据库中对于库表的访问权限
数据存储权限则进一步细化了对于S3中具体目录的访问权限(分为显示和隐式两种)。如下图所示,用户A在只有数据存取的权限下,无法创建位于S3指定bucket下的表。
个人认为这进一步体现了数据湖需要支持各种不同的存储引擎,未来的数据湖可能不只S3/OSS/OBS/HDFS一类核心存储,可能根据应用的访问需求,纳入更多类型的存储引擎,例如,S3存储原始数据,NoSQL存储处理过后适合以“键值”模式访问的数据,OLAP引擎存储需要实时出各类报表/adhoc查询的数据。虽然当前各类材料都在强调数据湖与数据仓库的不同;但是,从本质上,数据湖更应该是一类融合的数据管理思想的具体实现,“湖仓一体化”也很可能是未来的一个发展趋势。
综上,AWS数据湖方案成熟度高,特别是元数据管理、权限管理上考虑充分,打通了异构数据源与各类计算引擎的上下游关系,让数据能够自由“移动”起来。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。