Looker 支援連線至 Amazon Athena,這項互動式查詢服務可讓您使用標準 SQL 輕鬆分析 Amazon S3 中的資料。Amazon Athena 採用無伺服器架構,因此無須管理基礎架構。系統只會根據您執行的查詢向您收費。
加密網路流量
最佳做法是加密 Looker 應用程式與資料庫之間的網路流量。請考慮使用「啟用安全資料庫存取權」說明文件頁面所述的其中一個選項。
設定 Amazon Athena 連線
本頁說明如何將 Looker 連線至 Amazon Athena 執行個體。
請確認您已備妥以下項目:
- 一組 Amazon AWS 存取金鑰。
包含您想在 Looker 中使用 Amazon Athena 查詢的資料的 S3 bucket。Amazon AWS 存取金鑰必須具備這個值區的讀寫權限。
Amazon Athena 必須透過角色或權限集,以及防火牆規則,存取這個 S3 儲存空間。請勿為 Looker 的 IP 將安全規則新增至 S3 值區,因為這可能會無意間封鎖 Amazon Athena 對 S3 值區的存取權。(如果是 Amazon Athena 以外的方言,使用者可能想透過 IP 允許清單,限制從網路層存取資料,詳情請參閱「啟用安全資料庫存取權」說明文件頁面)。
瞭解 Amazon Athena 執行個體資料的所在位置。區域名稱位於 Amazon 控制台的右上方。
在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
填寫連線詳細資料:
- 名稱:指定連線名稱。您會在 LookML 專案中參照這個連線。
- 方言:選取「Amazon Athena」。
- 「主機」和「通訊埠」:請按照 Athena 說明文件中的 JDBC 網址格式,指定主機名稱和通訊埠。主機應為有效的 Amazon 端點 (例如
athena.eu-west-1.amazonaws.com
),且連接埠應維持在443
。如需支援 Athena 的最新端點清單,請參閱這份 AWS 一般參考頁面。 - 資料庫:指定要建立模型的預設資料庫。您可以存取其他資料庫,但 Looker 會將這個資料庫視為預設資料庫。
- 使用者名稱:指定 AWS 存取金鑰 ID。
- 密碼:指定 AWS 存取密鑰。
- 啟用 PDT:使用這個切換按鈕啟用永久衍生資料表 (PDT)。啟用 PDT 後,系統會顯示其他 PDT 欄位,以及連線的「PDT 覆寫」專區。
- 暫時資料庫:在 S3 bucket 中指定輸出目錄的名稱,Looker 會將 PDT 寫入該目錄。您必須在「Additional JDBC parameters」(額外 JDBC 參數) 欄位中指定輸出目錄的完整路徑;請參閱本頁的「指定 S3 值區,用於輸出查詢結果和 PDT」一節。
- PDT 建構工具連線數量上限:指定此連線可並行建構 PDT 的數量。如果這個值設得太高,可能會對查詢時間造成負面影響。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
- 其他 JDBC 參數:指定連線的其他參數:
s3_staging_dir
參數是 Looker 應使用的 S3 值區,用於查詢結果輸出和 PDT;請參閱本頁的「指定用於查詢結果輸出和 PDT 的 S3 值區」一節。- 串流結果的旗標。如果 Athena 使用者已附加
athena:GetQueryResultsStream
政策,您可以在額外的 JDBC 參數結尾加入;UseResultsetStreaming=1
,大幅提升大型結果集擷取作業的效能。這項參數預設為0
。 - 要新增至 JDBC 連線字串的其他選用參數。
- SSL:忽略;根據預設,所有與 AWS API 的連線都會加密。
- 每個節點的連線數上限:預設為 5。如果 Looker 是針對 Athena 執行的主要查詢引擎,您可以將此值提高到 20。如要進一步瞭解服務限制,請參閱 Athena 服務限制說明文件。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
- 連線集區逾時:指定連線集區逾時時間。根據預設,逾時時間為 120 秒。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
- SQL Runner 預先快取:如果希望 SQL Runner 只在選取資料表時載入資料表資訊,請取消選取這個選項。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
- 資料庫時區:指定資料庫中使用的時區。如不想轉換時區,請將這個欄位留空。詳情請參閱「使用時區設定」說明文件頁面。
如要確認連線是否成功,請按一下「測試」。如需疑難排解資訊,請參閱「測試資料庫連線」說明文件頁面。
如要儲存這些設定,請按一下「連線」。
指定 S3 值區,用於輸出查詢結果和 PDT
在「連線」頁面的「其他 JDBC 參數」欄位中,設定 Looker 用來儲存查詢結果輸出的 S3 儲存空間路徑,並指定 S3 儲存空間中的輸出目錄名稱,讓 Looker 將 PDT 寫入該目錄。請使用 s3_staging_dir
參數指定這項資訊。
s3_staging_dir
JDBC 參數是設定 Amazon Athena S3OutputLocation
屬性的替代方式,而這是 Athena JDBC 連線的必要條件。如需更多資訊和所有可用 JDBC 驅動程式選項的清單,請參閱 Athena 說明文件中的 JDBC 驅動程式選項。
在「Additional JDBC parameters」(其他 JDBC 參數) 欄位中,使用下列格式指定 s3_staging_dir
參數:
`s3_staging_dir=s3://<s3-bucket>/<output-path>`
其中:
<s3-bucket>
是 S3 值區的名稱。<output-path>
是 Looker 寫入查詢結果輸出的路徑。
AWS 存取金鑰組必須具備
<s3-bucket>
目錄的寫入權限。
如要設定 Looker 寫入 PDT 的目錄,請在「Temp Database」(暫時資料庫) 欄位中,輸入 S3 bucket 中目錄的路徑。
舉例來說,如果希望 Looker 將 PDT 寫入 s3://<s3-bucket>/looker_scratch
,請在「Temp Database」(暫時資料庫) 欄位中輸入:
`looker_scratch`
請只輸入目錄路徑。Looker 會從您在「Additional JDBC Parameters」欄位中輸入的 s3_staging_dir
參數取得 S3 值區名稱。
S3 儲存空間注意事項
建議您設定 Amazon S3 物件生命週期,定期清除指定 S3 儲存空間中不需要的檔案。原因如下:
- Athena 會將每項查詢的結果儲存在 S3 bucket 中。請參閱「Athena 查詢」。
- 如果已啟用 PDT,系統在建構 PDT 時,會將所建資料表的中繼資料儲存在 S3 bucket 中。
資源
偵錯
Amazon 提供 LogLevel
和 LogPath
JDBC 驅動程式選項,可供偵錯連線。如要使用這些參數,請在「其他 JDBC 參數」欄位結尾新增 ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log
,然後再次測試連線。
如果執行個體是由 Looker 代管,則 Looker 支援團隊或分析師必須擷取這個檔案,才能繼續偵錯。
功能支援
如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。
在 Looker 25.10 中,Amazon Athena 支援下列功能:
功能 | 是否支援? |
---|---|
支援級別 | 支援 |
Looker (Google Cloud Core) | 是 |
對稱式匯總函式 | 是 |
衍生資料表 | 是 |
永久 SQL 衍生資料表 | 是 |
永久原生衍生資料表 | 是 |
穩定版檢視畫面 | 是 |
終止查詢 | 是 |
以 SQL 為基礎的樞紐 | 是 |
時區 | 是 |
SSL | 是 |
小計 | 否 |
JDBC 其他參數 | 是 |
區分大小寫 | 是 |
位置類型 | 是 |
名單類型 | 是 |
百分位數 | 是 |
不重複值的百分位數 | 否 |
SQL Runner 顯示程序 | 否 |
SQL Runner 說明資料表 | 是 |
SQL Runner 顯示索引 | 否 |
SQL Runner 選取 10 | 是 |
SQL Runner 計數 | 是 |
SQL 說明 | 否 |
OAuth 2.0 憑證 | 否 |
背景資訊註解 | 是 |
連線集區 | 否 |
HLL 草圖 | 是 |
匯總知名度 | 是 |
增量 PDT | 否 |
毫秒 | 是 |
微秒 | 否 |
具體化檢視表 | 否 |
與前一段時期相比的指標 | 否 |
不重複值的概略計數 | 是 |
後續步驟
完成資料庫連線後,請設定驗證選項。