[英]Connecting athena to superset
因此,我正在使用 AWS athena,其中我將Data Source
設置為AwsDataCatalog
,將database
設置為test_db
,在其下我有一個名為debaprc
的table
。
現在,我在 EC2 實例上安裝了超集(在虛擬環境中)。 在實例上,我安裝了PyAthenaJDBC
和PyAthena
。 現在,當我啟動 Superset 並嘗試添加數據庫時,給出的語法是這樣的:
awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}
現在我有兩個問題 -
schema_name
提供了什么?test_db
作為schema_name
但由於某種原因無法連接。 我這樣做是對的還是我需要做不同的事情?檢查 PyAthena 版本。 超集文檔告訴PyAthena>1.2.0
而PyAthena 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.