Amazon Athena

Looker 支援連線至 Amazon Athena,這項互動式查詢服務可讓您使用標準 SQL 輕鬆分析 Amazon S3 中的資料。Amazon Athena 採用無伺服器架構,因此無須管理基礎架構。系統只會根據您執行的查詢向您收費。

加密網路流量

最佳做法是加密 Looker 應用程式與資料庫之間的網路流量。請考慮使用「啟用安全資料庫存取權」說明文件頁面所述的其中一個選項。

設定 Amazon Athena 連線

本頁說明如何將 Looker 連線至 Amazon Athena 執行個體。

  1. 請確認您已備妥以下項目:

    • 一組 Amazon AWS 存取金鑰。
    • 包含您想在 Looker 中使用 Amazon Athena 查詢的資料的 S3 bucket。Amazon AWS 存取金鑰必須具備這個值區的讀寫權限。

      Amazon Athena 必須透過角色或權限集,以及防火牆規則,存取這個 S3 儲存空間。請勿為 Looker 的 IP 將安全規則新增至 S3 值區,因為這可能會無意間封鎖 Amazon Athena 對 S3 值區的存取權。(如果是 Amazon Athena 以外的方言,使用者可能想透過 IP 允許清單,限制從網路層存取資料,詳情請參閱「啟用安全資料庫存取權」說明文件頁面)。

    • 瞭解 Amazon Athena 執行個體資料的所在位置。區域名稱位於 Amazon 控制台的右上方。

  2. 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」

  3. 填寫連線詳細資料:

    • 名稱:指定連線名稱。您會在 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 提供 LogLevelLogPath 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
毫秒
微秒
具體化檢視表
與前一段時期相比的指標
不重複值的概略計數

後續步驟

完成資料庫連線後,請設定驗證選項