将 Amazon Lake Formation 和 Amazon Athena 搭配使用
Amazon Athena 是一种无服务器查询服务,可帮助您分析存储在 Amazon S3 中的结构化、半结构化和非结构化数据。您可以使用 Athena SQL 从 CSV、JSON、Parquet 和 Avro 数据格式中查询数据。Athena SQL 还支持 Apache Hive
以下是一些常见使用案例,您可以在其中将 Lake Formation 与 Athena 一起使用。
从 Athena 中使用 Lake Formation 权限访问数据目录资源(数据库和表)。您可以使用命名资源方法或 LF 标签来定义对数据库和表的权限。有关更多信息,请参阅:
注意
Lake Formation 权限仅在使用 Athena SQL 查询 Amazon S3 中源数据和数据目录中元数据时应用。
Athena Spark 不支持使用 Lake Formation 权限查询数据目录表。Lake Formation 权限支持对数据库和表执行读取和写入操作。
注意
当您使用 LF 标签管理对数据目录资源的权限时,无法应用数据筛选条件。
通过在列、行和单元格级别授予权限来使用 Lake Formation 中的数据筛选条件 保护 Amazon S3 数据湖中的表,从而控制查询结果。请参阅《Amazon Athena 用户指南》中的分区投影限制。
运行联合查询时,对基于 SAML 的 Athena 用户可以使用的数据实施细粒度访问控制。
Athena JDBC 和 ODBC 驱动程序支持使用基于 SAML 的身份提供者 (IdP) 配置对数据来源的联合访问权限。将与 Lake Formation 集成的 Amazon QuickSight 与您现有的 IAM 角色或 SAML 用户或组结合使用,以将 Athena 查询结果可视化。
注意
仅当您使用 JDBC 或 ODBC 驱动程序向 Athena 提交查询时,才应用 SAML 用户和组的 Lake Formation 权限。
有关更多信息,请参阅使用 Lake Formation 以及 Athena JDBC 和 ODBC 驱动程序对 Athena 进行联合访问。
注意
目前,以下区域不支持在 Lake Formation 中授权访问 SAML 身份:
-
中东(巴林)- me-south-1
-
亚太地区(香港)- ap-east-1
-
非洲(开普敦)- af-south-1
-
中国(宁夏)- cn-northwest-1
-
亚太地区(大阪)– ap-northeast-3
-
使用Lake Formation 中的跨账户数据共享查询其他账户中的表。
注意
有关使用 Views
这一 Lake Formation 权限时的限制的更多信息,请参阅注意事项和限制。
支持事务表格格式
通过应用 Lake Formation 权限,您可以保护基于 Amazon S3 的数据湖中的事务数据。下表列出了 Athena 和 Lake Formation 权限支持的事务表格格式。当 Athena 用户运行查询时,Lake Formation 会强制实施这些权限。
表格式 | 描述和允许的操作 | Athena 支持的 Lake Formation 权限 |
---|---|---|
Apache Hudi |
一种用于简化增量数据处理和数据管线开发的格式。 Athena 支持使用 Apache Hudi 表格格式对写时复制 (CoW) 和读时合并 (MoR) Hudi 表格类型的 Amazon S3 数据集执行创建和读取操作。Athena 不支持对 Hudi 表执行写入操作。 |
通过Lake Formation 中的数据筛选和单元格级别安全性使用表、列、行和单元格级别权限保护 Hudi 表。 |
Apache Iceberg |
一种开放表格格式,它将大量文件作为表进行管理,并且支持现代分析数据湖操作,例如记录级别插入、更新、删除和时间旅行查询。 有关 Athena 对 Iceberg 表的支持的更多信息,请参阅使用 Iceberg 表。 |
支持表、列、行和单元格级别权限。目前,Lake Formation 不支持管理对采用开放表格格式的表的写入操作(例如 |
Linux Foundation Delta Lake |
Delta Lake 是一个开源项目,可帮助实施通常在 Amazon S3 或 Hadoop Distributed File System (HDFS) 上构建的现代数据湖架构。 Athena 支持在 Amazon Glue Data Catalog 上通过 Delta Lake 表使用基于符号链接的清单表定义创建的 Delta Lake 表。 有关更多信息,请参阅使用 Amazon Glue 爬网程序对 Delta Lake 表进行爬网 Athena(引擎版本 3)支持读取原生 Delta Lake 表。 有关更多信息,请参阅通过 Amazon Glue 爬网程序引入原生 Delta Lake 表支持 |
符号链接表和原生 Delta Lake 表支持表、列、行和单元格级别权限。 |