Amazon Lake Formation 是一项可让您在几天内轻松建立高度安全数据湖的服务。Lake Formation 还能够简化数据湖的长期管理工作。
快速构建数据湖
当您指定现有数据库的位置并提供访问凭据后,Lake Formation 会读取数据及其元数据 (schema) 以了解数据源的内容。然后,Lake Formation 会将数据导入到您的新数据湖,并将元数据记录在中央目录中。借助 Lake Formation,您可以从在 Amazon RDS 中运行或托管在 Amazon EC2 中的 MySQL、Postgres、SQL Server、MariaDB 和 Oracle 数据库导入数据。支持批量数据加载和增量数据加载。
通过连接到 Java 数据库连接 (JDBC),您可以使用 Lake Formation 从本地数据库移动数据。 识别目标来源并在控制台中提供访问凭据,Lake Formation 会读取数据并将数据加载到数据湖中。如需从上述数据库以外的数据库导入数据,您可以使用 Amazon Glue 创建自定义 ETL 作业。
借助 Lake Formation,您还可以从其他 S3 数据源中提取半结构化数据和非结构化数据。您可以识别哪些 Amazon S3 存储桶包含待复制到您的数据湖中的数据。当您指定 S3 路径以注册数据源并授权访问后,Lake Formation 会读取数据及其 schema。Lake Formation 可以收集和组织各种数据集,例如来自 Amazon CloudTrail、Amazon CloudFront、详细账单报告和 Amazon Elastic Load Balancing 的日志。您还可以使用自定义作业通过 Amazon Kinesis 或 Amazon DynamoDB 将数据加载到数据湖中。
Lake Formation 会抓取并读取您的数据源,以提取技术元数据(例如 schema 定义)并创建可搜索的目录来为用户描述此信息,使用户能够发现可用的数据集。另外,您可以在表级和列级为数据添加自定义标签(例如“敏感信息”和“欧洲销售数据”)来对属性进行定义。 Lake Formation 支持对此元数据进行基于文本的搜索,以便用户快速找到需要分析的数据。
Lake Formation 可以对您的数据执行转换(例如重写各种日期格式以保持一致性),确保数据以易于分析的方式进行存储。Lake Formation 会创建转换模板并为作业安排日程,以便准备好数据供分析。您的数据会使用 Amazon Glue 进行转换,并采用 Parquet 和 ORC 等列格式编写,以提高性能。 由于数据已整理成列,因此在做分析准备的时候不必整行扫描数据,从而减少需要读取的数据量。您可以使用 Amazon Glue 和 Apache Spark 创建自定义转换作业以满足特定要求。
Lake Formation 通过提供一种名为 FindMatches 的机器学习转换工具来删除重复数据和查找匹配记录,帮助清理数据和准备好数据供分析。例如,使用 Lake Formation 的 FindMatches 工具来查找餐厅数据库中的重复记录,例如一条记录列出了“121 Main St.”的“Joe's Pizza”,另一条记录显示了“121 Main”的“Joseph's Pizzeria”。 这无需您具备任何机器学习方面的知识。FindMatches 仅要求您将记录集标记为“匹配”或“不匹配”。 然后,系统会了解您将一对记录视为“匹配”的标准,并构建 ML 转换机制,以供您用来查找数据库中的重复记录或两个数据库中的匹配记录。
Lake Formation 还能优化 S3 中的数据分区,从而提高性能并降低成本。加载的原始数据所在的分区可能太小(需要额外读取)或太大(读取的数据超出所需数量)。 借助 Lake Formation,您的数据可以按大小、时间段和/或相关关键字进行组织。这样就可以对最常用的查询进行快速扫描和并行、分布式读取。
简化安全管理
Lake Formation 利用 S3 的加密功能来处理数据湖中的数据。这种方法提供了自动服务器端加密,密钥由 Amazon Key Management Service (KMS) 管理。S3 在跨区域复制时对传输中的数据进行加密,并允许您为源区域和目标中国区域使用单独的账户,以防止恶意内部删除。这些加密功能为您的数据湖中的所有数据提供了安全基础。
Lake Formation 允许您对数据湖中数据进行集中访问控制。您可以按 Lake Formation 中的角色为用户和应用程序定义基于安全策略的规则,也可以与 Amazon IAM 集成以对这些用户和角色进行身份验证。定义规则后,Lake Formation 会以表级和列级粒度为 Amazon Redshift Spectrum 和 Amazon Athena 的用户强制实施访问控制。Amazon Glue 访问权限在表级别强制执行,通常只有管理员具有此权限。EMR 集成(测试版)支持对连接到 EMR 集群的 EMR Notebooks 和 Zeppelin Notebooks 的 Active Directory、Okta 和 Auth0 用户进行授权。
Lake Formation 使用 CloudTrail 提供全面的审计日志,用于监视访问并显示对集中定义的策略的合规性。您可以跨分析和机器学习服务来审计数据访问历史记录,这些服务和机器学习服务会通过 Lake Formation 读取数据湖中的数据。这样,您可以查看哪些用户或角色尝试访问哪些数据、使用哪些服务以及对应的时间。您访问审计日志与使用 CloudTrail API 和控制台访问其他 CloudTrail 日志的方式相同。
提供对数据的自助访问
借助 Lake Formation,您可以通过在表属性中添加字段作为自定义属性来指定数据拥有者(例如数据管理员和业务单位)。您的拥有者可以使用业务元数据来扩充技术元数据,进一步定义数据的适当用途。您可以指定适当的使用案例,并通过使用 Lake Formation 安全性和访问控制来标记数据的敏感性以强制执行。
Lake Formation 支持为数据集请求和提供访问权限,各种分析使用案例的用户可以由此获取对数据湖的自助访问权限。您可以在中央数据目录中定义的表上指定权限、授权和撤消授权。同一数据目录可用于多个账户、组和服务。
借助 Lake Formation,您的用户可以使用基于文本的在线搜索,以及对记录在中央数据目录中的数据集进行过滤。用户可以按名称、内容、敏感性或您定义的其他自定义标签搜索相关数据。
借助 Lake Formation,您可以为分析用户提供以下功能:使用 Athena for SQL 直接查询数据集,使用 Redshift 进行数据仓库处理,以及基于 EMR for Apache Spark(测试版)的大数据处理和机器学习(适用于 EMR Notebooks 和 Zeppelin Notebooks)。向 Lake Formation 指明这些服务后,可用数据集将显示在目录中,并且访问控制将得到一致的强制实施,使您的用户可以轻松地针对相同数据组合分析方法。