【问题标题】:Connecting athena to superset将雅典娜连接到超集
【发布时间】:2021-06-14 01:47:12
【问题描述】:

所以,我正在使用 AWS athena,其中我将 Data Source 设置为 AwsDataCatalogdatabase 设置为 test_db,在其下我有一个名为 tabledebaprc

现在,我在 EC2 实例(在虚拟环境中)上安装了超集。在实例上,我安装了PyAthenaJDBCPyAthena。现在,当我启动 Superset 并尝试添加数据库时,给出的语法是这样的:

awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}

现在我有 2 个问题 -

  1. 我为schema_name提供什么?
  2. 我尝试将test_db 设置为schema_name,但由于某种原因无法连接。我这样做是对的还是我需要以不同的方式做事?

【问题讨论】:

    标签: python amazon-web-services sqlalchemy amazon-athena apache-superset


    【解决方案1】:

    如下所示,我将端口 443 添加到连接字符串中,您可以将test_db 用作schema_name

    awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com:443/{schema_name}?s3_staging_dir={s3_staging_dir}

    【讨论】:

      【解决方案2】:

      当心of the encoding:

      awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com:443/{schema_name}?AwsRegion={region_name}&s3_staging_dir=s3%3A%2F%2Faws-athena-results-xxxxxxx
      

      例如,对我来说,有必要:

      • s3:// 转换为s3%3A%2F%2F(而不仅仅是像Superset 文档中的:?)
      • 在额外参数中再次添加区域

      如果你不提供模式名称(也称为数据库),我认为它默认为default的值

      遗憾的是,当 Superset 上的连接字符串失败时,不会显示任何有用的信息...

      【讨论】:

        猜你喜欢
        • 2018-09-09
        • 2021-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-19
        • 2021-01-29
        • 1970-01-01
        相关资源
        最近更新 更多