AWS Athena: 跨账号写入CTAS查询结果
创始人
2024-11-14 09:00:45
0

要在AWS Athena中实现跨账号写入CTAS查询结果,您可以按照以下步骤操作:

  1. 创建源账号中的IAM角色:

    • 登录源账号的AWS控制台,转到IAM服务。
    • 创建一个新的IAM角色,授予其适当的权限,例如将其添加到AmazonAthenaFullAccess策略。
    • 记下角色的ARN(Amazon 资源名称)。
  2. 在目标账号中创建IAM角色:

    • 登录目标账号的AWS控制台,转到IAM服务。
    • 创建一个新的IAM角色,授予其适当的权限,例如将其添加到AmazonS3FullAccess策略。
    • 记下角色的ARN。
  3. 配置源账号中的Athena查询结果位置:

    • 在源账号的Athena控制台中,转到“查询结果位置”。
    • 创建一个新的S3存储桶,用于存储查询结果。
    • 将查询结果位置设置为新创建的S3存储桶。
  4. 创建源账号中的数据库和表:

    • 在源账号的Athena控制台中,转到“查询编辑器”。
    • 创建一个新的数据库,例如source_db
    • 创建一个新的表,指定查询结果位置为步骤3中设置的S3存储桶,例如source_table
  5. 创建目标账号中的数据库和表:

    • 在目标账号的Athena控制台中,转到“查询编辑器”。
    • 创建一个新的数据库,例如target_db
    • 创建一个新的表,指定查询结果位置为目标账号中任意可写入的S3存储桶,例如target_table
  6. 在源账号中运行CTAS查询:

    • 在源账号的Athena控制台中,转到“查询编辑器”。

    • 使用以下示例代码运行CTAS查询,将查询结果写入目标账号中的表:

      CREATE TABLE target_db.target_table
      WITH (
          format = 'PARQUET',
          external_location = 's3://target-bucket/path/to/result/'
      ) AS
      SELECT *
      FROM source_db.source_table;
      
    • target_db.target_tables3://target-bucket/path/to/result/替换为目标账号中实际的数据库和表以及S3存储桶路径。

  7. 配置源账号中的IAM角色信任关系:

    • 在源账号的IAM控制台中,编辑源账号的IAM角色。

    • 添加以下信任关系,以允许目标账号中的IAM角色假定源账号中的IAM角色:

      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "目标账号中的IAM角色ARN"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      
    • 目标账号中的IAM角色ARN替换为目标账号中实际的IAM角色ARN。

  8. 在目标账号中运行查询:

    • 在目标账号的Athena控制台中,转到“查询编辑器”。

    • 使用以下示例代码运行查询,从源账号中的表读取数据:

      SELECT *
      FROM source_db.source_table;
      
    • source_db.source_table替换为源账号中实际的数据库和表。

通过以上步骤,您可以实现在AWS Athena中跨账号写入CTAS查询结果。记住要根据您的实际情况修改和替换示例代码中的参数和值。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...