按步骤升级到 Amazon Glue Data Catalog
目前,所有支持 Athena 的区域也支持 Amazon Glue Data Catalog。通过使用 Amazon Glue Data Catalog 可让数据库和表对 Athena 可用,反之亦然。
如果您在某个区域支持 Amazon Glue 之前已使用 Athena 或 Amazon Redshift Spectrum 创建数据库和表,则可以升级 Athena 以使用 Amazon Glue Data Catalog。
如果您使用的是较旧的 Athena 托管数据目录,则会在控制台顶部看到升级选项。Athena 托管目录中的元数据在 Amazon Glue Data Catalog 中不可用,反之亦然。虽然目录并排存在,但无法在 Amazon Glue 或 Athena 中创建具有相同名称的表或数据库。这可在您执行升级时防止名称冲突。有关使用 Amazon Glue Data Catalog 的优势的更多信息,请参阅常见问题解答:升级到 Amazon Glue Data Catalog。
Athena 控制台中的向导可指导您完成升级到 Amazon Glue 控制台的过程。升级只需几分钟的时间,并且您可以在停止的位置恢复操作。有关每个升级步骤的信息,请参阅此部分中的各个主题。
有关使用 Amazon Glue Data Catalog 中的数据和表的信息,请参阅将 Athena 与 Amazon Glue 结合使用时的最佳实践中的准则。
步骤 1 – 允许用户执行升级
预设情况下,允许用户执行升级的操作在任何策略(包括任何托管策略)中都是不允许的。由于 Amazon Glue Data Catalog 在整个账户中都是共享的,因此这种额外的故障保护可防止有人意外迁移目录。
在可以执行升级之前,您需要使用一个允许升级操作的策略语句将客户托管的 IAM 策略附加到执行迁移的用户。
下面是一个示例策略语句。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:ImportCatalogToGlue" ], "Resource": [ "*" ] } ] }
步骤 2 - 更新与 Athena 用户关联的客户托管式/内联策略
如果您有与 Athena 用户关联的客户托管或内联 IAM 策略,则需要更新一个或多个策略以允许 Amazon Glue 所需的操作。如果您使用 Athena 托管策略,则无需执行任何操作。下面的示例策略中列出了允许的 Amazon Glue 策略。有关完整的策略语句,请参阅Amazon Athena 的 Amazon 托管策略。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "*" ] } ] }
步骤 3 – 在 Athena 控制台中选择升级
在您进行所需的 IAM 策略更新后,在 Athena 控制台中选择 Upgrade(升级)。Athena 会将您的元数据移动到 Amazon Glue Data Catalog。升级只需要几分钟。
使用控制台创建表时,您可以使用 Amazon Glue 爬网程序创建表。有关更多信息,请参阅使用 Amazon Glue 爬网程序。