AWS数据分析新服务 - 数据湖
如果我们在 AWS 上面一步步配置的话,那会变得非常困难,毕竟 AWS 围绕数据库有如此众多的服务,服务之间的关联和权限配置变得很复杂,这时候就需要一个工具来帮助用户把这些问题都搞定,AWS Lake Formation 可以帮助用户快速地搭建数据湖,并且引入了安全管理机制,真正地帮助用户保护数据湖。 说了这么多,那下面我们使用 AWS Lake Formation 去构建一个数据湖吧。 上图是一个数据湖的架构图,我们将准备两份数据 sales 和 customers,会使用 AWS Glue 来存取数据的元数据,在使用 AWS Lake Formation 赋予用户 salesuser 和 customersuser 使用这两个数据表,最终他们将通过 Amazon Athena 来查询需要的数据。 准备数据和用户 我们准备了两个数据文件,下面把他们各自的字段列举一下: customers:{CUSTOMERID, CUSTOMERNAME, EMAIL, CITY, COUNTRY, TERRITORY, CONTACTFIRSTNAME, CONTACTLASTNAME} sales:{ORDERNUMBER, QUANTITYORDERED, PRICEEACH, ORDERLINENUMBER, SALES, ORDERDATE, STATUS, QTR_ID, MONTH_ID, YEAR_ID, PRODUCTLINE, MSRP, PRODUCTCODE, DEALSIZE, CUSTOMERID} 同样我们也会创建两个用户,分别是 salesuser 和 customersuser,并赋予相应的权限: salesuser:可以查看表 sales 的所有列。 customersuser:只可以查询表 customers 的 CUSTOMERNAME, EMAIL 列。 下面开始让我们创建吧。 创建 AWS IAM 用户 创建用户这里有几个注意事项,我们创建的用户是需要可以登录 AWS Console 控制台,用户赋予以下几项权限: AmazonS3FullAccess, AmazonAthenaFullAccess, CloudWatchLogsReadOnlyAccess, AWSCloudFormationReadOnlyAccess 和 AWSGlueConsoleFullAccess。 创建 AWS IAM Role 因为 AWS Glue crawler 需要从 Amazon S3 中爬取元数据,所以需要给 AWS Glue 创建一个 Role,赋予 PowerUserAccess 的策略。 创建 Amazon S3 Bucket 为数据湖创建一个 Amazon S3 Bucket,命名为 wzlinux-datalake,然后把数据上传到上面,因为测试环境,我们手动上传这些数据,生产环境都是自动上传更新数据。 在 Bucket 里面创建两个文件夹 data 和 script,data 这个文件夹主要是存放数据湖数据,script 文件夹后面 Amazon Athena 会使用,作为 Amazon Athena 查询结果输出位置。 在 data 目录下面,创建两个文件夹,一个是 sales,一个是 customers ,把各自的 csv 文件传到其中。 配置数据湖 打开 AWS Lake Formation 控制台,赋予使用的 AWS IAM 用户 administrators 权限。 在 Databases 里面,添加刚刚创建的存储桶作为数据库,用作数据目录,后面会用 AWS Glue 爬取,如下图: 下一步来到 Data Lake locations,把创建的 Amazon S3 作为数据湖存储。 爬取数据目录 数据湖中的所有数据都需要被数据目录所记录才可以使用,数据目录可以使用 AWS Glue 来爬取创建,下面我们配置数据目录爬取任务。 选择刚刚创建的数据目录 wzlinux-db,并赋予其爬取 Amazon S3 数据的权限。 权限设置如下。 然后找到 Crawlers,添加一个 Crawlers。 添加 Amazon S3 数据存储的目录。 选择创建好的角色。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |