簡體   English   中英

將雅典娜連接到超集

[英]Connecting athena to superset

因此,我正在使用 AWS athena,其中我將Data Source設置為AwsDataCatalog ,將database設置為test_db ,在其下我有一個名為debaprctable

現在,我在 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}

現在我有兩個問題 -

  1. 我為schema_name提供了什么?
  2. 我嘗試將test_db作為schema_name但由於某種原因無法連接。 我這樣做是對的還是我需要做不同的事情?

檢查 PyAthena 版本。 超集文檔告訴PyAthena>1.2.0PyAthena PyPI 頁面PyAthena[SQLAlchemy]>=1.0.0, <2.0.0 在我的例子PyAthena[SQLAlchemy]>1.2.0, <2.0.0 (結合兩個約束)解決了一個問題,表格出現在 SQL Lab 的下拉列表中( PyAthena==2.5.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}

注意編碼

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 上的連接字符串失敗時,不會顯示任何有用的信息......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM