總覽
本頁說明如何在 Looker 中設定連線,以連至 Google BigQuery 標準 SQL 或 Google BigQuery 舊版 SQL。
設定 Google BigQuery 標準 SQL 或 Google BigQuery 舊版 SQL 連線的一般步驟如下:
在 BigQuery 資料庫中,設定 Looker 用來存取 BigQuery 資料庫的驗證方式。Looker 支援下列 BigQuery 驗證選項:
- 服務帳戶:如需相關資訊,請參閱本頁的「使用 BigQuery 服務帳戶進行驗證」一節。
- OAuth:如需相關資訊,請參閱本頁的「使用 OAuth 進行驗證」一節。
在 BigQuery 資料庫中,如要在連線上使用永久衍生資料表 (PDT),請建立臨時資料集,供 Looker 在資料庫中建立 PDT。如需相關程序,請參閱本頁的「建立永久衍生資料表的臨時資料集」一節。
在 Looker 中,設定 Looker 連線至 BigQuery 資料庫。如需相關程序,請參閱本頁面的「將 Looker 連線至 BigQuery」一節。
在 Looker 中,測試 Looker 與 BigQuery 資料庫之間的連線。如需相關程序,請參閱本頁面的「測試連線」一節。
加密網路流量
最佳做法是加密 Looker 應用程式與資料庫之間的網路流量。請考慮使用「啟用安全資料庫存取權」說明文件頁面所述的其中一個選項。
使用 BigQuery 服務帳戶進行驗證
Looker 可透過 BigQuery 服務帳戶,驗證您的 BigQuery 資料庫。您可以使用控制台中的 API 管理工具 Google Cloud ,在 BigQuery 資料庫中建立服務帳戶。您必須具備 Google Cloud 管理員權限,才能建立服務帳戶。請參閱服務帳戶建立說明文件。
建立服務帳戶並下載 JSON 憑證
如要建立 BigQuery 服務帳戶,請按照下列步驟操作:
在 Google Cloud 控制台的 API 管理工具中開啟憑證頁面,然後選取專案。
選取「建立憑證」,然後選擇「服務帳戶」。
輸入新服務帳戶的名稱,視需要新增說明,然後選取「建立並繼續」。
服務帳戶需要兩個 Google BigQuery 預先定義的角色:
- 「BigQuery」>「BigQuery 資料編輯者」
- BigQuery > BigQuery 工作使用者
在「選取角色」欄位中選取第一個角色,然後選取「新增其他角色」,再選取第二個角色。
選取這兩個角色後,依序選取「繼續」和「完成」。
在「憑證」頁面中,選取新的服務帳戶:
依序選取「金鑰」和「新增金鑰」,然後在下拉式選單中選取「建立新的金鑰」:
在「金鑰類型」下方選取「JSON」,然後選取「建立」:
JSON 金鑰會儲存到您的電腦。
記下下載位置後,選取「關閉」:
選取「完成」。
找出與服務帳戶相應的電子郵件地址。您需要這個地址,才能設定 Looker 與 BigQuery 的連線:
在 BigQuery 資料庫中建立服務帳戶後,請在 Looker「連線」視窗的「服務帳戶電子郵件」、「服務帳戶 JSON/P12 檔案」和「密碼」欄位中,輸入服務帳戶資訊和憑證檔案詳細資料,設定 Looker 與 BigQuery 的連線。
使用 OAuth 進行驗證
Looker 支援 Google BigQuery 連線的 OAuth,也就是說,每位 Looker 使用者都會使用自己的 Google OAuth 憑證向 Google 進行驗證,並授權 Looker 存取資料庫。
資料庫管理員可透過 OAuth 執行下列功能:
- 稽核哪些 Looker 使用者正在對資料庫執行查詢。
- 使用 Google 權限強制執行角色型存取權控管。
- 針對所有存取 Google BigQuery 的程序和動作,使用 OAuth 權杖,而非在多個位置嵌入 BigQuery ID 和密碼。
請注意,採用 OAuth 的 BigQuery 連線有以下限制:
- 如果資料庫管理員變更 BigQuery OAuth 用戶端憑證,使用者擁有的任何排程或快訊都會受到影響。如果管理員變更 BigQuery OAuth 憑證,使用者必須重新登入。使用者也可以前往 Looker 帳戶頁面 (位於使用者設定檔帳戶頁面),登入 Google 帳戶。
- 由於採用 OAuth 的 BigQuery 連線是「依使用者」設定,快取政策也是依使用者設定,而非依查詢設定。也就是說,如果同一位使用者在快取期間內執行相同查詢,Looker 才會使用快取結果,而不是在快取期間內執行相同查詢時一律使用快取結果。如要進一步瞭解快取,請參閱「快取查詢」說明文件頁面。
- 如要在使用 OAuth 的 BigQuery 連線中,使用永久衍生資料表 (PDT),您必須為 Looker 建立額外的服務帳戶,才能存取資料庫以進行 PDT 程序。如需相關資訊,請參閱本頁面的「BigQuery 連線上的永久衍生資料表」一節。
- 管理員以其他使用者身分執行 sudo 時,會使用該使用者的 OAuth 授權權杖。如要瞭解如何使用
sudo
指令,請參閱「使用者」文件頁面。
為 OAuth 設定 BigQuery 資料庫專案
下列各節說明如何產生 OAuth 憑證,以及如何設定 OAuth 同意畫面。
在下列情況下,您不需要執行這些程序:
- 如果您已為專案中的其他應用程式設定 OAuth 同意畫面,就不必再建立一個,因為專案中的所有應用程式只會設定一個同意畫面。在這種情況下,您可以直接按照設定 Looker (Google Cloud Core) 與資料庫連線的程序操作。
如果您使用 Looker (Google Cloud Core) 執行個體,Looker 可以使用 Looker 管理員建立 Looker (Google Cloud Core) 執行個體時使用的 OAuth 應用程式憑證。如果您使用的 OAuth 應用程式憑證與 Looker (Google Cloud Core) 執行個體相同,可以略過本節和「設定 Looker 連線,透過 OAuth 使用 BigQuery」一節中的程序,改為按照 Looker (Google Cloud Core) 說明文件中的步驟,透過 OAuth 使用 BigQuery。
您必須在Google Cloud 控制台中設定 OAuth 憑證和 OAuth 同意畫面。Google 一般說明位於支援 Google Cloud 網站和 Google 開發人員控制台網站。
視存取 Looker 中 BigQuery 資料的使用者類型,以及 BigQuery 資料是公開還是私人,OAuth 可能不是最合適的驗證方法。同樣地,當使用者在 Google 中驗證身分以使用 Looker 時,應用程式向使用者要求的資料類型,以及存取使用者資料所需的存取權層級,可能需要通過 Google 驗證。如要進一步瞭解驗證,請參閱本頁面的「產生 Google OAuth 憑證」一節。
產生 Google OAuth 憑證
在「選取專案」下拉式選單中,前往 BigQuery 專案。系統應會將您導向專案資訊主頁。
在左選單中,選取「API 和服務」頁面。然後選取「憑證」。在「憑證」頁面中,選取「建立憑證」按鈕中的向下箭頭,然後從下拉式選單中選取「OAuth 用戶端 ID」:
您必須先設定 OAuth 同意畫面,讓使用者選擇如何授予私人資料的存取權,才能產生 OAuth 憑證。如要設定 OAuth 同意畫面,請參閱本頁的「設定 OAuth 同意畫面」一節。
如果您已設定 OAuth 同意畫面,Google 會顯示「建立 OAuth 用戶端 ID」頁面,讓您建立 OAuth 用戶端 ID 和密鑰,以便在 BigQuery 連線中使用 Looker。從「應用程式類型」下拉式選單中,選取「網頁應用程式」。頁面會展開並顯示其他選項:
在「Name」(名稱) 欄位中,輸入應用程式名稱,例如 Looker。
在「已授權的 JavaScript 來源」部分,選取「+ 新增 URI」,顯示「URI 1」欄位。在「URI 1」欄位中,輸入 Looker 執行個體網址,包括
https://
。例如:- 如果 Looker 代管您的執行個體:
https://<instancename>.looker.com
- 如果您有客戶代管的 Looker 執行個體:
https://looker.<mycompany>.com
- 如果 Looker 執行個體需要通訊埠號碼:
https://looker.<mycompany>.com:9999
- 如果 Looker 代管您的執行個體:
在「已授權的重新導向 URI」部分,選取「+ 新增 URI」,顯示「URI 1」欄位。在「URI 1」欄位中,輸入 Looker 執行個體的網址,然後輸入
/external_oauth/redirect
。例如:https://<instancename>.looker.com/external_oauth/redirect
或https://looker.<mycompany>.com:9999/external_oauth/redirect
。複製用戶端 ID 和用戶端密鑰值。您需要這些資訊,才能在 Looker 中為 BigQuery 連線設定 OAuth。
設定 OAuth 同意畫面
Google 要求您設定 OAuth 同意畫面,讓使用者選擇如何授予私人資料存取權,並提供貴機構服務條款和隱私權政策的連結。
在左側選單中,選取「OAuth consent screen」(OAuth 同意畫面) 頁面。您必須先選擇要向哪類使用者提供這個應用程式,才能設定 OAuth 同意畫面。視選取項目而定,應用程式可能需要通過 Google 驗證。
選取所需選項,然後選取「建立」。Google 會顯示「OAuth 同意畫面」頁面。您可以為專案中的所有應用程式 (包括內部和公開應用程式) 設定這個畫面。
如果公開應用程式符合下列任一條件,Google 就會進行驗證:
- 應用程式使用的 Google API 會存取受限制或機密的範圍。
- OAuth 同意畫面會顯示應用程式標誌。
- 專案已超過網域門檻。
如要設定 OAuth 同意畫面,請按照下列步驟操作:
在「應用程式名稱」欄位中,輸入使用者要授予存取權的應用程式名稱,也就是 Looker。
在「使用者支援電子郵件」欄位中,輸入使用者遇到登入或同意聲明問題時應聯絡的支援電子郵件地址。
選取「新增網域」,即可顯示「授權網域 1」欄位。請在這個欄位中輸入 Looker 執行個體網址的網域。舉例來說,如果 Looker 在
https://<instance_name>.cloud.looker.com
代管您的執行個體,網域就是looker.com
。如果是客戶代管的 Looker 部署作業,請輸入代管 Looker 的網域。在「開發人員聯絡資訊」部分,輸入一或多個電子郵件地址,方便 Google 就專案與您聯絡。
其餘欄位為選填,但可用於進一步自訂同意畫面。
選取「儲存並繼續」。
Google 會顯示「範圍」頁面,您可以在這裡設定範圍。Looker 只需要預設範圍,因此不需要額外設定範圍。選取「儲存並繼續」。
在「摘要」頁面中,選取「返回資訊主頁」。
現在可以繼續產生 OAuth 憑證的程序。
如要進一步瞭解如何設定 Google OAuth 同意畫面,請參閱 Google 支援說明文件。
使用 OAuth 設定 BigQuery 的 Looker 連線
如要為 BigQuery 連線啟用 OAuth,請在設定 Looker 與 BigQuery 的連線時,選取 Looker「連線」頁面上的「OAuth」選項。選取「OAuth」選項後,Looker 會顯示「OAuth 用戶端 ID」和「OAuth 用戶端密鑰」欄位。貼上您在本頁「產生 Google OAuth 憑證」程序中取得的「用戶端 ID」和「用戶端密鑰」值。
如果您已設定 BigQuery OAuth 的工作階段長度,為避免 Looker 工作階段逾時,您需要使用「豁免信任的應用程式」功能,將 Looker 新增至信任的應用程式。如需這項程序的步驟,請參閱「設定 Google 服務的工作階段時間長度 Google Cloud 」說明文章。
Looker 使用者如何透過 OAuth 驗證 BigQuery
為 BigQuery 設定 OAuth 的 Looker 連線後,使用者可以透過下列任一方式,使用 Looker 對 BigQuery 資料庫執行初始驗證:
- 從使用 BigQuery 連線的 Looker 查詢驗證 Google 帳戶
- 在 Looker 帳戶頁面的「OAuth 連線憑證」部分登入 Google
從查詢登入 Google
為 OAuth 設定 Looker 與 BigQuery 的連線後,Looker 會提示使用者登入 Google 帳戶,才能執行使用 BigQuery 連線的查詢。Looker 會在「探索」、「資訊主頁」、「Look」和「SQL Runner」中顯示這項提示。
使用者必須選取「登入」,並透過 OAuth 驗證。使用者驗證 BigQuery 後,即可選取「探索」中的「執行」按鈕,Looker 會將資料載入「探索」。
從使用者帳戶頁面登入 Google
為 OAuth 設定 Looker 與 BigQuery 的連線後,使用者就能從 Looker 使用者帳戶頁面驗證自己的 Google 帳戶:
- 在 Looker 中選取個人資料圖示,然後從使用者選單中選取「帳戶」。
- 前往「OAuth Connection Credentials」(OAuth 連線憑證) 專區,然後選取適當 BigQuery 資料庫連線的「Log In」(登入) 按鈕。
- 在「使用 Google 帳戶登入」頁面中選取適當的帳戶。
- 在 OAuth 同意畫面中選取「允許」,允許 Looker 查看及管理 Google BigQuery 中的資料。
透過 Looker 向 Google 進行驗證後,您隨時可以透過「帳戶」頁面登出或重新授權憑證,如「個人化使用者帳戶」說明文件頁面所述。雖然 Google BigQuery 權杖不會過期,但使用者可以選取「重新授權」,改用其他 Google 帳戶登入。
撤銷 OAuth 權杖
使用者可以前往 Google 帳戶設定,撤銷 Looker 等應用程式的 Google 帳戶存取權。
Google BigQuery 權杖不會過期,但如果資料庫管理員變更資料庫連線的 OAuth 憑證,導致現有憑證失效,使用者就必須重新登入 Google 帳戶,才能執行任何使用該連線的查詢。
BigQuery 連線上的永久衍生資料表
如要為 BigQuery 連線使用永久衍生資料表 (PDT),您可能需要視連線設定執行下列操作:
- 使用 Google Cloud 控制台在 BigQuery 資料庫中建立暫時性資料集,供 Looker 寫入 PDT。如需相關程序,請參閱本頁的「為永久衍生資料表建立臨時資料集」一節。無論連線上的其他設定選項為何,PDT 都需要執行這個步驟。
- 在 Google Cloud 控制台中使用 API 管理工具,為 Looker 的 PDT 程序建立獨立的服務帳戶。如需相關程序,請參閱本頁面的「建立服務帳戶並下載 JSON 憑證」一節。連線的驗證類型會影響是否需要 PDT 服務帳戶,以及在設定 Looker 與 BigQuery 的連線時,於 Looker 的「連線」視窗中輸入 PDT 服務帳戶資訊的位置:
- 如果連線使用 OAuth 進行使用者驗證,您必須為 PDT 程序建立個別的服務帳戶。您會在 Looker「連線」視窗的「PDT 覆寫」部分,輸入服務帳戶資訊和憑證檔案詳細資料。如果連線已在「驗證」欄位中設定 OAuth 選項,當您為該連線開啟「啟用 PDT」切換鈕時,Looker 的「連線」視窗會自動顯示「PDT 覆寫」部分。詳情請參閱「為 Looker 連線啟用 OAuth 驗證的 BigQuery 持久衍生資料表」一節。
- 如果連線使用服務帳戶進行使用者驗證,您可以選擇為 PDT 程序建立個別的服務帳戶。如果您選擇使用獨立的 PDT 服務帳戶,請在 Looker「連線」視窗的「PDT Overrides」(PDT 覆寫) 區段中,輸入「Service Account Email」(服務帳戶電子郵件)、「Service Account JSON/P12 File」(服務帳戶 JSON/P12 檔案) 和「Password」(密碼) 欄位的服務帳戶資訊。使用服務帳戶驗證,為 BigQuery 啟用 Looker 連線的「啟用 PDT」切換鈕時,系統會顯示「PDT 覆寫」部分。
為永久衍生資料表建立暫時資料集
如要為 BigQuery 連線啟用永久衍生資料表 (PDT),請在設定 Looker 與 BigQuery 的連線時,開啟 Looker 連線頁面上的「啟用 PDT」切換鈕。啟用 PDT 時,Looker 會顯示「臨時專案」和「臨時資料庫」欄位。在這些欄位中,輸入 Looker 可用來建立 PDT 的專案 ID 和資料集名稱。您應事先設定資料庫或結構定義,並授予適當的寫入權限。
您可以使用 Google Cloud 控制台設定暫時性資料集:
開啟 Google Cloud 控制台,然後選取專案。
選取三點選單,然後選取「建立資料集」。
輸入「資料集 ID」 (通常為
looker_scratch
),然後選取「資料位置」 (選用)、「預設資料表有效期限」和加密金鑰管理解決方案。選取「CREATE DATASET」即可完成設定。
建立資料集後,您可以在設定 Looker 與 BigQuery 的連線時,於 Looker「連線」視窗的「臨時專案」和「臨時資料庫」欄位中指定專案和資料集。
為 Looker 連線啟用 OAuth 驗證的 BigQuery PDT
如果BigQuery 連線使用 OAuth,使用者必須使用 OAuth 憑證登入 Looker。Looker 支援 BigQuery OAuth 連線的 PDT,但 Looker 本身無法使用 OAuth,因此您必須設定 BigQuery 服務帳戶,專門允許 Looker 存取資料庫以進行 PDT 程序。
您可以使用 Google Cloud API 管理工具,在 BigQuery 資料庫中設定 PDT 服務帳戶。請參閱本頁面的「建立服務帳戶並下載 JSON 憑證」一節。
在 BigQuery 資料庫中建立服務帳戶後,請設定 Looker 與 BigQuery 的連線,並在 Looker「連線」視窗的「PDT Overrides」部分輸入服務帳戶資訊和憑證檔案詳細資料。如要瞭解 PDT 覆寫欄位,請參閱「PDT 覆寫」一節。
PDT 覆寫
如果 BigQuery 連線使用 OAuth,或是您想為 PDT 使用不同的憑證、資料集或帳單專案,可以啟用「PDT 覆寫」切換按鈕,在連線上輸入 PDT 專屬的不同資訊。(如要進一步瞭解 PDT 覆寫的用途,請參閱「將 Looker 連線至資料庫」說明文件頁面的「PDT 覆寫」一節)。
如果已為連線啟用「啟用 PDT」切換鈕,Looker「連線」視窗會顯示「啟用 PDT 覆寫」切換鈕。開啟「啟用 PDT 覆寫」切換按鈕,然後在「PDT 覆寫」部分使用下列欄位,輸入 Looker 可用於資料庫 PDT 程序的服務帳戶資訊:
PDT 覆寫的報帳專案 ID:指定用於 PDT 建構和維護查詢 (觸發檢查查詢) 費用的專案。針對 PDT 執行的查詢仍會使用一般設定「報帳專案 ID」欄位中指定的報帳專案。PDT 覆寫的報帳專案不會用於儲存,只會用於帳單。如要使用這個欄位,服務帳戶至少須具備 bigquery.jobUser 角色。
PDT 覆寫的服務帳戶檔案:使用「上傳檔案」按鈕,上傳要用於連線 PDT 程序的 BigQuery 服務帳戶憑證檔案。您可以按照「建立服務帳戶並下載 JSON 憑證」程序中的步驟,從 Google Cloud API 管理工具取得這個檔案。您用於 PDT 資料集的服務帳戶必須具備讀取和寫入權限。
使用者名稱:只有在「PDT 覆寫」部分的「PDT 覆寫的服務帳戶檔案」欄位中上傳 P12 檔案時,才需要填寫這個欄位。輸入要用於連線 PDT 程序的 BigQuery 服務帳戶電子郵件地址。您可以透過 Google Cloud API 管理工具,在「建立服務帳戶並下載 JSON 憑證」程序中取得這個電子郵件地址。
密碼:只有在「PDT Overrides」(PDT 覆寫) 部分的「PDT Override Service Account file」(PDT 覆寫的服務帳戶檔案) 欄位中上傳 P12 檔案時,才需要填寫這個欄位。輸入 BigQuery 服務帳戶的 .p12 憑證檔案密碼,該服務帳戶將用於連線上的 PDT 程序。
PDT 覆寫的額外 JDBC 參數:新增應在連線中用於 PDT 的任何額外 JDBC 參數,例如 BigQuery 標籤 (詳情請參閱本頁的「BigQuery 連線的工作標籤和內容註解」一節)。以下是其他支援的參數:
connectTimeout
:等待連線的毫秒數。預設值為 240000。readTimeout
:等待讀取的時間 (以毫秒為單位)。預設值為 240000。rootUrl
:如果您在私人網路中有 BigQuery 執行個體,請指定替代端點,以便連線至 BigQuery,而非預設的公開端點。
將 Looker 連結至 BigQuery
您可以在「將資料庫連線至 Looker」頁面中,在 Looker 建立資料庫連線。開啟「將資料庫連線至 Looker」頁面有兩種方式:
- 在「管理」面板的「資料庫」部分中,選取「連線」。在「Connections」(連線) 頁面中,按一下「Add Connection」(新增連線) 按鈕。
- 按一下主要導覽面板中的「建立」按鈕,然後選取「連線」選單項目。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定,並說明於「將 Looker 連線至資料庫」說明文件頁面。以下設定的用途是強調重點,或是說明這些設定如何特別適用於 BigQuery 連線:
SQL 方言:選取「Google BigQuery 標準 SQL」或「Google BigQuery 舊版 SQL」。
專案範圍:選取連線是否應適用於所有專案,或僅適用於單一專案。詳情請參閱「將 Looker 連線至資料庫」頁面。
啟用 SSH 伺服器:如果執行個體部署於 Kubernetes 基礎架構,且您已啟用相關功能,可將 SSH 伺服器設定資訊加入 Looker 執行個體,請開啟「啟用 SSH 伺服器」切換鈕,設定「SSH 伺服器」和「SSH 通道」欄位。詳情請參閱「將 Looker 連線至資料庫」頁面。
帳單專案 ID:帳單專案的專案 ID (唯一 ID)。 Google Cloud 帳單專案是 Google Cloud 用來計費的專案,但如果 LookML 開發人員在 LookML 檢視區塊、探索或聯結的
sql_table_name
參數中指定完整範圍的資料表名稱,您仍可查詢其他 Google Cloud 專案中的資料集。如果是 BigQuery,完整範圍的資料表名稱會採用<project_name>.<dataset_name>.<table_name>
格式。如果沒有完整範圍的參照,BigQuery 會在您於 Looker 的「連線」頁面中,為 Looker 的 BigQuery 連線指定的帳單專案和資料集中,尋找資料表。如要瞭解 BigQuery 中的資源階層,請參閱 BigQuery 說明文件。儲存專案 ID:如果將運算和儲存空間分別放在不同專案中,請輸入儲存專案的 ID。如果 LookML 開發人員在 LookML 檢視區塊、探索或聯結的
sql_table_name
參數中指定完整範圍的資料表名稱,您就可以查詢不同 Google Cloud 專案中的資料集。如果是 BigQuery,完整範圍的資料表名稱會採用<project_name>.<dataset_name>.<table_name>
格式。如果沒有完整範圍的參照,BigQuery 會在您於 Looker 的「連線」頁面中,為 Looker 的 BigQuery 連線指定的帳單專案和資料集中,尋找資料表。如要瞭解 BigQuery 中的資源階層,請參閱 BigQuery 說明文件。主要資料集:當 Looker 查詢資料庫時,預設使用的資料集名稱。預設資料集必須位於為連線指定的報帳專案中;您無法在「資料庫」欄位中輸入
project_name.dataset_name
等值,指定其他專案中的資料集。如果 LookML 開發人員在 LookML 檢視區塊、探索或聯結的
sql_table_name
參數中指定完整範圍的資料表名稱,LookML 專案就能存取其他資料集中的資料表 (包括公開資料集中的資料表)。如果是 BigQuery,完整範圍的資料表名稱會採用<project_name>.<dataset_name>.<table_name>
格式。如要查詢其他資料集中的資料表,服務帳戶 (適用於使用服務帳戶驗證的連線) 或執行查詢的使用者 (適用於使用 OAuth 驗證的連線) 必須有權存取該資料表。如果 LookML 程式碼未指定完整範圍的資料表名稱,BigQuery 會在您於 BigQuery 連線的「資料集」欄位中指定的資料集內搜尋資料表。如果專案沒有任何資料集 (如果您在不同專案中分別處理運算和儲存作業,可能就會發生這種情況),您可以提供任意的「資料集」值,但之後必須一律在 LookML 中使用完整範圍的資料表名稱。
驗證:Looker 用來存取資料庫的驗證類型。部分選項僅支援 Looker (Google Cloud Core) 執行個體:
- 應用程式預設憑證:(僅限 Looker (Google Cloud Core)) 選取這個選項,即可使用應用程式預設憑證 (ADC) 向資料庫進行驗證 (詳情請參閱 Looker (Google Cloud Core) 說明文件)。
- 服務帳戶:選取這個選項,即可使用 BigQuery 服務帳戶,讓 Looker 驗證資料庫 (詳情請參閱「使用 BigQuery 服務帳戶進行驗證」)。選取「服務帳戶」後,您會看到下列欄位:
- 上傳服務 JSON 或 P12 檔案:使用「上傳檔案」按鈕,上傳 BigQuery 服務帳戶的憑證檔案。您可以在「建立服務帳戶並下載 JSON 憑證」程序中,透過 Google Cloud API 管理工具取得這個檔案。
- 服務帳戶電子郵件地址:只有在「上傳服務 JSON 或 P12 檔案」欄位中上傳 P12 檔案時,才需要填寫這個欄位。輸入 BigQuery 服務帳戶的電子郵件地址,您可以在「建立服務帳戶並下載 JSON 憑證」程序中,透過 Google Cloud API 管理員取得這個地址。
- 密碼:BigQuery 服務帳戶的 P12 憑證檔案密碼。只有在「上傳服務 JSON 或 P12 檔案」欄位中上傳 P12 檔案時,才需要填寫「密碼」欄位。
OAuth:選取這個選項,讓每位 Looker 使用者都能驗證 Google BigQuery,並授權 Looker 透過使用者的 BigQuery 帳戶存取資料庫。如要進一步瞭解如何為 BigQuery 連線導入 OAuth,請參閱本頁面的「使用 OAuth 進行驗證」一節。選取「OAuth」OAuth後,您會看到下列欄位:
- OAuth 用戶端 ID:OAuth 用戶端 ID。您可以在 Google Cloud 控制台中取得這項資訊,這是「產生 Google OAuth 憑證」程序中的步驟。
- OAuth 用戶端密鑰:OAuth 用戶端密鑰。您可以在 Google Cloud 控制台中取得這項資訊,這是「產生 Google OAuth 憑證」程序中的步驟。
每個節點的連線數上限:Looker 可與資料庫建立的連線數量上限。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
連線集區逾時:如果使用者要求的連線數量超過設定的每個節點連線數上限,要求就會等待其他要求完成後再執行。「連線集區逾時」是指要求等待的最長時間。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
這個連線的並行查詢數量上限:Looker 可同時向資料庫連線提交的並行查詢數量上限。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
這個連線的個別使用者並行查詢數量上限:Looker 同時向這個資料庫連線提交的個別使用者並行查詢數量上限。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
帳單最大 GB 數:使用 BigQuery 連線時,系統會根據每個查詢的大小收費。為避免使用者不慎執行費用過高的查詢,您可以設定使用者單次查詢可擷取的資料量上限 (以 GB 為單位)。如未限制查詢大小,可以將「計費 GB 數上限」欄位留空。詳情請參閱 BigQuery 定價頁面。
其他 JDBC 參數:新增任何其他 JDBC 參數,例如 BigQuery 標籤 (詳情請參閱本頁的「BigQuery 連線的工作標籤和內容註解」一節)。其他支援的參數包括:
connectTimeout
:等待連線的毫秒數。預設值為 240000。readTimeout
:等待讀取的時間 (以毫秒為單位)。預設值為 240000。rootUrl
:如果您在私人網路中有 BigQuery 執行個體,請指定替代端點,以便連線至 BigQuery,而非預設的公開端點。
維護排程:Looker 重新產生器的
cron
間隔。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。停用內容:這個選項會停用 BigQuery 連線的內容註解。Google BigQuery 連線的內容註解預設為停用,因為內容註解會導致 Google BigQuery 無法快取資料,進而對快取效能造成負面影響。如要為 BigQuery 連線啟用內容註解,請關閉「停用內容」切換按鈕。詳情請參閱「BigQuery 連線的工作標籤和內容註解」一節。
SSL:啟用切換鈕,即可使用 SSL 加密技術保護資料,確保資料在 Looker 與資料庫之間傳輸時安全無虞。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
預先快取資料表和資料欄:如要讓 SQL Runner 不要預先載入資料表資訊,而是在選取資料表時才載入,請取消勾選這個選項。詳情請參閱「將 Looker 連線至資料庫」頁面的「預先快取資料表和資料欄」一節。
擷取及快取結構定義:如果資訊結構定義速度緩慢,可以為連線停用「擷取及快取結構定義」選項。停用這項功能會導致 Looker 無法針對特定功能進行 SQL 最佳化,因此除非您知道連線的資訊結構定義速度特別慢,否則應啟用「擷取並快取結構定義」選項。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
啟用 PDT:啟用這個切換鈕,即可在連線中啟用永久衍生資料表 (PDT)。詳情請參閱本頁面的「BigQuery 連線上的永久衍生資料表」一節。您必須在資料庫中指定 Looker 用於寫入 PDT 的暫時資料集。如需相關程序,請參閱本頁的「為永久衍生資料表建立臨時資料集」一節。注意:如果連線設定為 OAuth,您必須使用「PDT Overrides」(PDT 覆寫) 區段,指定 Looker 可用於 BigQuery 連線 PDT 程序的服務帳戶。詳情請參閱「為 Looker 連線啟用 BigQuery 的 OAuth 持久衍生資料表」一節。
暫時專案:包含您要用來寫入 PDT 的資料集的專案 ID。如未指定暫存專案,Looker 會將 PDT 寫入連線設定「資料庫設定」部分的「儲存專案 ID」欄位中指定的專案。如未指定「儲存專案 ID」,Looker 會將 PDT 寫入連線設定「資料庫設定」部分「報帳專案 ID」欄位中指定的專案。
暫時資料庫:您在 Google Cloud 控制台中建立的 BigQuery 資料集,可讓 Looker 將持續性衍生資料表寫入資料庫。如需相關程序,請參閱「為永久衍生資料表建立臨時資料集」一節。
PDT 建構工具連線數量上限:Looker 再生器可透過資料庫連線啟動的並行資料表建構作業數量上限。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
重新執行失敗的 PDT 建構作業:啟用「重新執行失敗的 PDT 建構作業」切換鈕後,即使 PDT 的觸發條件未達成,Looker 重新產生器也會嘗試重建先前重新產生器週期中失敗的 PDT。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
PDT API 控制功能:這個切換按鈕可決定是否能將
start_pdt_build
、check_pdt_build
和stop_pdt_build
API 呼叫用於這個連線。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。啟用 PDT 覆寫:啟用這個切換鈕,即可設定 Looker 應使用的個別連線設定,將 PDT 寫入資料庫。如要進一步瞭解 PDT 覆寫欄位,請參閱本頁的「PDT 覆寫」一節。
資料庫時區:BigQuery 的預設時區為世界標準時間 (UTC)。您在此指定的時區設定必須與 BigQuery 時區設定相符。詳情請參閱「將 Looker 連線至資料庫」頁面的「資料庫時區」一節。
查詢時區:詳情請參閱「將 Looker 連線至資料庫」頁面的「查詢時區」一節。
填寫連線的所有適用欄位後,即可視需要測試連線。
如要儲存這些設定,請按一下「連線」。
測試連線
您可以在 Looker UI 的幾個位置測試連線設定:
- 如「將 Looker 連線至資料庫」說明文件頁面所述,選取「連線設定」頁面底部的「測試」按鈕。
- 在「連線」管理頁面中,選取連線清單旁的「測試」按鈕,如「連線」說明文件頁面所述。
如果是新連線,如果 Looker 顯示「可以連線」,請選取「新增連線」。Looker 會執行其餘的連線測試,確認服務帳戶已正確設定並具備適當角色。
測試使用 OAuth 的連線
- 在 Looker 中進入開發模式。
- 如果現有的 BigQuery 連線使用 OAuth,請前往 Looker 專案的專案檔案,該專案使用您的 BigQuery 連線。如要為使用 OAuth 的新 BigQuery 連線執行這項操作,請開啟模型檔案,將模型
connection
值替換為新 BigQuery 連線的名稱,然後儲存模型檔案。 - 開啟任一模型探索或資訊主頁,然後執行查詢。嘗試執行查詢時,Looker 會提示您使用 Google 帳戶登入。按照 Google OAuth 登入提示操作。
BigQuery 連線的工作標籤和內容註解
如果是 BigQuery 連線,Looker 會以 BigQuery 工作標籤的形式傳送查詢內容。根據預設,Looker 會為 BigQuery 連線傳送下列內容標籤鍵:
looker-context-user_id
:Looker 執行個體中每個使用者的專屬 ID。您可以在「管理」選單的「使用者」頁面,將這個使用者 ID 與使用者 ID 相符。looker-context-history_slug
:Looker 執行個體在資料庫上執行的每項查詢,都有專屬 ID。looker-context-instance_slug
:發出查詢的 Looker 執行個體 ID 編號。如有必要,Looker 支援團隊可使用這項資訊協助您排解問題。
您可以在「連線」頁面的「其他 JDBC 參數」文字欄位中,設定 Looker 在 BigQuery 連線的每次查詢中傳送的其他工作標籤。在「其他 JDBC 參數」欄位中,新增其他 JDBC 參數 labels
,並提供以逗號分隔的網址編碼 key=value
配對清單。舉例來說,如果您在「其他 JDBC 參數」欄位中加入以下內容:
labels=this%3Dconnection-label,that%3Danother-connection-label
%3D
是 =
的網址編碼,因此除了預設的 Looker 環境標籤外,這還會將下列兩個標籤新增至 Looker 傳送至 BigQuery 資料庫的每個查詢:
this
:connection-label
that
:another-connection-label
請注意,BigQuery 對工作標籤設有限制:
- 如果連線標籤的金鑰與內容標籤相同,系統會忽略連線標籤。
- 如果連線標籤和內容標籤的聯集超過 64 個標籤上限,系統會先捨棄內容標籤,再捨棄連線標籤,直到標籤總數最多為 64 個。
Looker 會確保內容標籤符合所有 BigQuery 的標籤有效性規定,但不會檢查連線標籤是否有效。設定無效的連結標籤可能會導致查詢失敗。
Looker 預設傳送的 BigQuery 工作標籤 (looker-context-user_id
、looker-context-history_id
和 looker-context-instance_slug
) 對應於 Looker 附加至 SQL 查詢的SQL 環境註解,適用於 BigQuery 以外的資料庫語言。如果是 BigQuery 連線,系統預設會停用內容註解,因為這會導致 BigQuery 無法快取,並可能對快取效能造成負面影響。如要為 BigQuery 連線啟用內容註解,請關閉 BigQuery 連線的「停用內容」切換按鈕。建議您保留「停用內容註解」的預設設定,以便使用 BigQuery 的快取。不過,如果取消選取 BigQuery 連線的「停用內容註解」選項,Looker 會將 SQL 內容註解和 BigQuery 工作標籤傳送至資料庫。
SQL 環境註解和 BigQuery 工作標籤傳達的資訊相同。舉例來說,Looker 可能會為查詢產生下列 SQL 內容註解:
-- Looker Query Context
'{"user_id":1,"history_id":4757,"instance_slug":"ec2804ddef74c466f2a43e0afaa3ff6b"}'
接著,Looker 會為相同查詢產生下列 BigQuery 工作標籤:
[{"value":"1","key":"looker-context-user_id"},
{"value":"4757","key":"looker-context-history_id"},
{"value":"ec2804ddef74c466f2a43e0afaa3ff6b","key":"looker-context-instance_slug"}]
功能支援
如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。
Google BigQuery 標準 SQL
自 Looker 25.10 起,Google BigQuery 標準 SQL 支援下列功能:
功能 | 是否支援? |
---|---|
支援級別 | 支援 |
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 | 是 |
毫秒 | 是 |
微秒 | 是 |
具體化檢視表 | 是 |
與前一段時期相比的指標 | 是 |
不重複值的概略計數 | 是 |
Google BigQuery 舊版 SQL
自 Looker 25.10 起,Google BigQuery 舊版 SQL 支援下列功能:
功能 | 是否支援? |
---|---|
支援級別 | 支援 |
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 | 否 |
毫秒 | 是 |
微秒 | 是 |
具體化檢視表 | 否 |
與前一段時期相比的指標 | 否 |
不重複值的概略計數 | 是 |
後續步驟
將資料庫連線至 Looker 後,請為使用者設定登入選項。