資料庫安全防護及設定完成後,您就可以將資料庫連結至 Looker。
您可以在 Looker 的「將資料庫連線至 Looker」頁面中建立資料庫連線。您可以透過兩種方式開啟「將資料庫連線至 Looker」頁面:
- 在「管理」面板的「資料庫」區段中,選取「連結」。在「連線」頁面中,按一下「新增連線」按鈕。
- 按一下左側導覽面板中的「建立」按鈕,然後選取「連線」選單項目。
如要進一步瞭解如何將使用者屬性套用至連線設定,請參閱「使用者屬性」說明文件頁面的「連線」一節。
本頁面說明 Looker 在「將資料庫連線至 Looker」頁面上顯示的常見欄位。網頁顯示的確切欄位取決於所設定的方言。
按這裡即可查看 Looker 說明文件中方言專屬操作說明的連結。
- Actian Avalanche
- PostgreSQL 適用的 AlloyDB
- Amazon Aurora PostgreSQL
- Amazon Athena
- Amazon Aurora MySQL
- MySQL 適用的 Amazon RDS
- PostgreSQL 適用的 Amazon RDS
- Amazon Redshift
- Apache Druid
- Apache Hive 2.3 以上版本和 3.1.2 以上版本
- Apache Spark 3 以上版本
- ClickHouse
- Cloudera Impala 3.1 以上版本
- Databricks
- DataVirtuality
- Denodo
- Dremio
- Exasol
- Firebolt
- Google BigQuery 舊版 SQL
- Google BigQuery 標準 SQL
- MySQL 適用的 Google Cloud SQL
- PostgreSQL 適用的 Google Cloud SQL
- Google Spanner
- Greenplum
- AS400 上的 IBM DB2
- LUW 上的 IBM DB2
- MariaDB
- Microsoft Azure Synapse Analytics
- Microsoft Azure SQL Database
- Microsoft Azure PostgreSQL
- Microsoft SQL Server (MSSQL)
- 商業智慧 (BI) 適用的 MongoDB 連接器
- MySQL
- Oracle
- Oracle ADWC
- PostgreSQL
- PrestoDB
- SAP HANA
- SingleStore (舊稱 MemSQL)
- Snowflake
- Teradata
- Trino
- 向量
- Vertica
輸入資料庫連線設定後,您可以選取「Connect your database to Looker」頁面上的「Test」按鈕,測試連線並確認設定正確無誤。點選「測試」,確認連線是否成功。如需疑難排解資訊,請參閱「測試資料庫連線」說明文件頁面。如果 Looker 顯示「Can Connect」,請按下「Connect」建立連線。資料庫連線隨即會加入 Looker 「連線」 管理員頁面上的清單。
一般設定
名稱
您要在 LookML 中使用的連線名稱。您需要這個資料庫連線名稱,才能在 LookML 模型的 connection
參數中使用。資料庫連線名稱也是 Looker 的「Connections」頁面中用來識別連線的方式。請勿使用任何資料夾的名稱做為這項設定。這個值不需要與資料庫中的任何內容相符。Name
是 Looker UI 中用於識別此連線的標籤。
連線範圍
選取連線是否可與所有專案一起使用,或是僅與單一專案一起使用:
- 所有專案:執行個體中的所有 LookML 專案都可以存取連線,因此可在該專案中模型檔案的
connection
參數中指定連線名稱。 - 所選專案:只有執行個體上的一個 LookML 專案可以存取連線。選取這個選項後,「連線」畫面會顯示實例上的專案下拉式選單。選取可存取此連線的專案。
如要委派連線管理和模型設定,請搭配使用下列權限:
方言
與連線相符的 SQL 方言。請務必選擇正確的值,這樣系統才會顯示適用的連線選項,而 Looker 也才能正確地將 LookML 翻譯為 SQL。
計費專案 ID
僅適用於 Google BigQuery 連結,帳單專案 ID 為 Google Cloud 專案 ID。
主機
Looker 連線至資料庫主機時應使用的資料庫主機名稱。
如果您已與 Looker 分析師合作,將 SSH 通道設定至資料庫,請在「主機」欄位中輸入 "localhost"
。
通訊埠
Looker 連線至資料庫主機時應使用的資料庫通訊埠。
如果您已與 Looker 分析師合作,設定資料庫的 SSH 通道,請在「Port」 欄位中輸入會重新導向至資料庫的通訊埠號碼,Looker 分析師應已提供這項資訊。
資料庫
主機中資料庫的名稱。舉例來說,您可能有一個主機名稱 my-instance.us-east-1.redshift.amazonaws.com
,其中有一個名為 sales_info
的資料庫。您會在這個欄位中輸入 sales_info
。如果您在同一個主機上有多個資料庫,可能需要建立多個連線才能使用這些資料庫 (MySQL 除外,因為在 MySQL 中,「資料庫」一詞的意思與大多數 SQL 方言略有不同)。
結構定義
在未指定結構定義時,Looker 會使用的預設結構定義。這項設定適用於使用 SQL Runner、產生 LookML 專案,以及查詢資料表時。
驗證
針對 Google BigQuery、Snowflake、Trino 和 Databricks 連線,請選取 Looker 用來存取資料庫的驗證類型:
- 針對 Google BigQuery 連線,您可以選擇設定 OAuth 或服務帳戶,讓 Looker 用來驗證資料庫。
- 針對 Snowflake、Trino 和 Databricks 連線,您可以選擇設定 OAuth 或資料庫帳戶,讓 Looker 用於驗證資料庫。
使用 OAuth 時,使用者必須登入資料庫,才能透過 Looker 發出查詢。如要進一步瞭解如何在連線至 Looker 時設定 OAuth,請參閱 Google BigQuery、Snowflake、Trino 或 Databricks 的連線程序。
使用者名稱
資料庫中使用者帳戶的使用者名稱,Looker 可用來連線至資料庫。
密碼
資料庫中使用者帳戶的密碼,Looker 可用來連線至資料庫。
選用設定
SSH 伺服器
只有在執行個體部署於 Kubernetes 基礎架構,且您已啟用相關功能,可將 SSH 伺服器設定資訊加入 Looker 執行個體時,才能使用 SSH 伺服器選項。如果 Looker 執行個體未啟用這個選項,但您想啟用,請聯絡 Google Cloud 銷售專員或提出支援要求。
SSH 伺服器會自動為您選擇 localhost 通訊埠,因此無法指定 localhost 通訊埠。如果您需要建立 SSH 連線,而該連線需要指定本機端通訊埠,請提出支援要求。
如要使用 SSH 通道連線至資料庫,請開啟切換鈕,然後從下拉式清單中選取 SSH 伺服器設定。
本機通訊埠
Looker 預設會自動為 SSH 通道選取可用的本機通訊埠。如要手動選取本機通訊埠,請選取「手動輸入」,然後在「Custom Local Port」欄位輸入通訊埠編號。請確保執行個體可以使用本機通訊埠。
永久衍生資料表 (PDT)
啟用 PDT
開啟「Enable PDTs」切換鈕,即可啟用永久衍生資料表。啟用 PDT 後,「Connection」視窗會顯示額外的 PDT 欄位和「PDT 覆寫」部分。只有在資料庫方言支援使用 PDT 時,Looker 才會顯示「啟用 PDT」切換按鈕。
請注意下列與 PDT 相關的事項:
- Snowflake 連線不支援使用 OAuth 的 PDT。
- 在連線中停用 PDT 不會停用與 PDT 相關聯的 datagroups。即使您停用 PDT,現有的資料群組仍會對資料庫執行
sql_trigger
查詢。如果您想停止資料群組對資料庫執行sql_trigger
查詢,請務必從 LookML 專案中刪除或註解datagroup
參數,或者您也可以更新連線的資料群組和 PDT 維護時間表設定,讓 Looker 很少或不檢查 PDT 和資料群組。 - 針對 Snowflake 連線,Looker 會將
AUTOCOMMIT
參數的值設為TRUE
(Snowflake 的預設值)。AUTOCOMMIT
是 Looker 執行 SQL 指令時,用於維護 PDT 註冊系統的必要項目。
暫存資料庫
雖然這會標示為「暫存資料庫」,但您必須根據自己的 SQL 方言,輸入適用的資料庫名稱或結構定義名稱,以便 Looker 用來建立永久衍生資料表。您應預先設定這個資料庫或結構定義,並取得適當的寫入權限。在「資料庫設定操作說明」說明文件頁面中,選取資料庫方言,即可查看該方言的操作說明。
每個連線都必須有專屬的暫存資料庫或結構定義;暫存資料庫或結構定義無法在不同的連線之間共用。
PDT 建構工具連線數量上限
「PDT 建構工具連線數量上限」設定可讓您指定 Looker 再生器可透過資料庫連線啟動多少並行的資料表建構作業。「PDT 建構工具連線數量上限」設定僅適用於 Looker 再生器啟動重建作業的資料表類型:
- 採用觸發條件的永久資料表 (使用
datagroup_trigger
或sql_trigger_value
永久保存策略的永久衍生資料表和匯總資料表)。 - 使用
persist_for
策略的已儲存資料表,但只有在persist_for
資料表是衍生資料表的層級連結的一部分,且由使用datagroup_trigger
或sql_trigger_value
儲存策略的資料表所依附時才適用。在這種情況下,Looker 再生器會重建persist_for
資料表,因為該資料表需要重建級聯中的另一個資料表。否則,再生器不會啟動persist_for
資料表的建構作業。
「PDT 建構工具連線數量上限」設定預設為 1,但可設為 10。不過,這個值不得高於「每個節點的最大連線數」欄位或 Looker 啟動選項中設定的 per-user-query-limit
值。
請謹慎設定這個值。如果值過高,資料庫可能會無法負荷。如果值偏低,長時間執行的 PDT 或匯總資料表可能會延遲建立其他永久性資料表,或減緩連線上的其他查詢。支援多租戶功能的資料庫 (例如 BigQuery、Snowflake 和 Redshift) 在處理並行查詢建構作業時,可能會有更佳的效能。
如要提高 PDT 建構工具連線數量上限設定,建議以 1 為單位增加。如果發生任何非預期的行為,請將其設回預設值 1。否則,如果查詢效能未受到影響,您可以繼續以 1 為單位增加設定值,並在每次增加設定值後驗證效能,再進一步提高設定值。
請注意以下有關「PDT 建構工具連線數量上限」設定的事項:
- 「PDT 建構工具連線數量上限」設定只適用於資料表重建作業所需的連線,不適用於觸發條件檢查所需的連線。觸發條件檢查是一種查詢,可檢查是否觸發資料表的持久化策略;由於這些觸發條件檢查查詢一律會依序執行,因此不適用「PDT 建構工具連線數量上限」設定。
- 在叢集 Looker 執行個體中,再生器只會在主要節點上執行。PDT 建構工具連線數量上限設定只適用於主節點,因此會為整個叢集設定限制。
- 「PDT 建構工具連線數量上限」設定不適用於下列類型的資料表。這些類型的資料表會依序建立:
- 透過
persist_for
參數保留的資料表 (除非該資料表受到使用datagroup_trigger
或sql_trigger_value
策略的資料表所依附)。 - 開發模式中的表格。
- 使用「Rebuild Derived Tables & Run」選項重建的表格。
- 在依附元件連鎖中,一個表格依附於另一個表格。資料表無法與其依附的資料表同時建構。舉例來說,如果
table_B
依附table_A
,則必須先完成table_A
的重新建構作業,table_B
才能開始重新建構。
- 透過
資料群組與 PDT 維護時間表
Looker 再生器會檢查以 sql_trigger_value
為依據的datagroups和永久資料表 (包括匯總資料表和永久衍生資料表)。根據這些檢查結果,Looker 再生器會從資料庫的草稿結構定義中重建或捨棄已儲存的資料表。
「資料群組和 PDT 維護時間表」值會設定 Looker 再生器的 cron
間隔。Looker 再生器會啟動再生器週期,以 cron
間隔檢查資料群組和永久資料表。如果 Looker 再生器週期在下一個 cron
間隔期間仍在進行,Looker 再生器會先完成目前的再生器週期,然後等到後續 cron
間隔時,再開始下一個再生器週期。
「資料群組與 PDT 維護時間表」設定可接受 cron
運算式。預設值為 */5 * * * *
,表示如果上一個再生器週期已完成,Looker 再生器週期會在五分鐘的間隔內啟動週期。如果上一個再生器週期尚未完成,Looker 再生器會在週期完成後的下一個五分鐘間隔啟動。
預設的五分鐘也是 資料群組與 PDT 維護時間表 支援的最短間隔。Looker 不會強制執行 資料群組與 PDT 維護時間表的最大間隔,也就是說,您可以延長 Looker 再生器週期之間的間隔,只要可以使用 cron
運算式指定即可。請注意,Looker 再生週期越長,快取和持久化表格中的資料新鮮度就會受到負面影響。
Looker 再生器在週期內完成所有檢查和 PDT 重建作業後,會等待下一個 cron
間隔,以便啟動下一個週期。如果 PDT 建構作業需要長時間執行,Looker 再生器週期之間可能會有很長的時間。其他因素也會影響重建資料表所需的時間,詳情請參閱「Looker 中的衍生表格」頁面「實作已儲存表格的重要考量事項」一節。
如果資料庫不是 24 小時全年無休,建議您只在資料庫上線時執行檢查。以下是其他 cron
運算式:
cron 運算式 |
定義 |
---|---|
*/5 8-17 * * MON-FRI |
在週一至週五的營業時間內,每 5 分鐘檢查一次資料群組和 PDT |
*/5 8-17 * * * |
每天在營業時間內每 5 分鐘檢查資料群組和 PDT |
0 8-17 * * MON-FRI |
在週一至週五的營業時間,每小時檢查一次資料群組和 PDT |
1 3 * * * |
每天凌晨 3 點 1 分檢查資料群組和 PDT |
建立 cron
運算式時,請注意下列事項:
- Looker 使用 parse-cron v0.1.3,不支援
cron
運算式中的?
。 cron
運算式會使用 Looker 應用程式時區來決定檢查時間。- 如果系統未建構 PDT,請將 cron 字串重設為預設的
*/5 * * * *
。
以下提供一些資源,協助您建立 cron
字串:
- https://crontab.guru:協助編輯及測試
cron
字串。 - http://www.crontab-generator.org - 選取時間設定,產生器會建立對應的
cron
字串。
重新執行失敗的 PDT 建構作業
「重新執行失敗的 PDT 建構作業」切換鈕可設定 Looker 再生器嘗試重建先前再生器週期中失敗的觸發式持續性資料表的方式。Looker 再生器是一種程序,可根據 資料群組與 PDT 維護時間表連線設定中設定的間隔,重新建立觸發式儲存資料表 (PDT 和匯總表)。啟用「Retry Failed PDT Builds」切換鈕後,Looker 再生工具會嘗試重新建構先前再生工具週期中失敗的 PDT,即使未符合 PDT 的觸發條件也一樣。停用這項設定後,Looker 再生器只會在符合 PDT 的觸發條件時,嘗試重新建構先前失敗的 PDT。重新執行失敗的 PDT 建構作業預設為停用。
如要進一步瞭解 Looker 再生器,請參閱「Looker 中的衍生資料表」說明文件。
PDT API 控制功能
PDT API 控制功能切換鈕可決定是否可為此連線使用 start_pdt_build
、check_pdt_build
和 stop_pdt_build
API 呼叫。當「PDT API 控制」切換鈕停用時,這些 API 呼叫會在參照此連線的 PDT 時失敗。PDT API 控制切換鈕預設為停用。
PDT 覆寫
如果資料庫支援持續衍生資料表,且您已在連線設定中開啟「啟用 PDT」切換鈕,Looker 會顯示「PDT 覆寫」部分。在「PDT 覆寫值」部分,您可以輸入 PDT 程序專用的個別 JDBC 參數 (主機、連接埠、資料庫、使用者名稱、密碼、結構定義、額外參數和連線後陳述式)。這有許多好處:
- 建立專屬的資料庫使用者來處理 PDT 程序,即使您將使用者屬性指派給資料庫登入憑證,或使用 OAuth 進行資料庫連線,也能使用 Looker 專案中的 PDT。
- PDT 程序可以透過優先順序較高的單獨資料庫使用者進行驗證。如此一來,資料庫就能將 PDT 工作優先於較不重要的使用者查詢。
- 您可以撤銷標準 Looker 資料庫連線的寫入權限,並只授予 PDT 程序用於驗證的特殊使用者。這是大多數機構的最佳安全策略。
- 對於 Snowflake 等資料庫,PDT 程序可轉送至效能更強大的硬體,而不會與其他 Looker 使用者共用。這樣一來,PDT 就能快速建構,而不必花費昂貴的硬體運作費用。
舉例來說,下列設定顯示使用者名稱和密碼欄位設為使用者屬性的連線。這樣一來,每位使用者都能使用自己的憑證存取資料庫。「PDT 覆寫值」部分會建立使用者 (pdt_user
) 和專屬密碼。pdt_user
帳戶將用於所有 PDT 程序,並具備適合建立及更新 PDT 的存取層級。
時區
資料庫時區
資料庫儲存時間相關資訊時採用的時區。Looker 需要知道這項資訊,才能為使用者轉換時間值,方便使用者瞭解及使用時間資料。詳情請參閱「使用時區設定」說明文件頁面。
查詢時區
只有在停用使用者專屬時區時,系統才會顯示「查詢時區」選項。
在停用使用者專屬時區的情況下,查詢時區是使用者查詢以時間為準的資料時顯示的時區,也是 Looker 將以時間為準的資料從資料庫時區轉換至的目標時區。
詳情請參閱「使用時區設定」說明文件頁面。
其他設定
其他 JDBC 參數
您可以視需要在這裡為查詢加入其他 Java Database Connectivity (JDBC) 參數。
如要在 JDBC 參數中參照使用者屬性,請使用 Liquid 範本語法:_user_attributes['name_of_attribute']
。例如:
my_jdbc_param={{ _user_attributes['name_of_attribute'] }}
每個節點的連線數量上限
您可以在此設定 Looker 可與資料庫建立的連線數量上限。您大多會設定 Looker 可針對資料庫同時執行的查詢數量。Looker 也會保留最多三個查詢終止連線。如果連線集區很小,Looker 會保留較少的連線。
請謹慎設定這個值。如果值過高,資料庫可能會無法負荷。如果值過低,查詢就必須共用少量連線。因此,許多查詢可能會讓使用者覺得速度緩慢,因為查詢必須等到先前的查詢傳回結果,才能接著處理後續查詢。
預設值 (取決於 SQL 方言) 通常是合理的起點。大多數資料庫也有可接受的連線數上限設定。如果資料庫設定限制連線數量,請確認「每個節點的連線數量上限」值等於或低於資料庫的限制。
連線集區逾時時間
如果使用者要求的連線數量超過「每個節點的連線數量上限」設定,要求會等待其他要求完成後再執行。這裡會設定要求的等待時間上限。預設值為 120 秒。
請謹慎設定這個值。如果太低,使用者可能會發現自己的查詢遭到取消,因為其他使用者沒有足夠的時間完成查詢。如果太高,可能會累積大量查詢,導致使用者必須等待很長的時間。預設值通常是合理的起點。
這個連線的並行查詢數量上限
這個選用值會限制 Looker 同時向這個資料庫連線提交的並行查詢數量。如果需要同一個連線的並行要求超過數量上限,Looker 會在內部將這類要求排入佇列並依序處理。設定這個值會覆寫現有的每個節點的最大連線數值。
這個連線的個別使用者並行查詢數量上限
這個選用值會限制 Looker 同時向這個資料庫連線提交的個別使用者並行查詢數量。如果需要同一個連線的並行要求超過數量上限,Looker 會在內部將這類要求排入佇列並依序處理。
SSL
選擇是否要使用 SSL 加密機制,在 Looker 與資料庫之間傳輸資料時保護資料。SSL 只是可用來保護資料的其中一種選項;如需瞭解其他安全選項,請參閱「啟用安全資料庫存取權」說明文件頁面。
驗證 SSL
選擇是否要驗證連線使用的 SSL 憑證。如果需要驗證,簽署 SSL 憑證的 SSL 憑證授權單位 (CA) 必須來自用戶端的信任來源清單。如果 CA 不是可信任的來源,系統就不會建立資料庫連線。
如果未選取這個方塊,連線仍會使用 SSL 加密,但不需要驗證 SSL 連線,因此即使憑證授權單位不在用戶端的已信任來源清單中,也能建立連線。
SQL Runner 預先快取
在 SQL Runner 中,只要選取連線和結構定義,系統就會預先載入所有資料表資訊。這樣一來,只要點選資料表名稱,SQL Runner 就能立即顯示資料表資料欄。不過,如果連線和結構定義包含許多資料表或非常大的資料表,您可能不希望 SQL Runner 預先載入所有資訊。
如果您希望 SQL Runner 僅在選取資料表時載入資料表資訊,可以取消選取「SQL Runner Precache」選項,停用連線的 SQL Runner 預先載入功能。
擷取 SQL 寫入的資訊結構定義
對於某些 SQL 編寫功能 (例如匯總感知),Looker 會使用資料庫的資訊結構定義來最佳化 SQL 編寫作業。如果資訊結構定義未快取,Looker 可能必須不時封鎖 SQL 寫入資料庫的動作,才能擷取資訊結構定義。對於使用 Hadoop 分散式檔案系統 (HDFS) 的方言,擷取資訊結構定義可能需要很長的時間,因此會大幅影響 Looker 查詢的效能。如果您知道資訊結構定義速度緩慢,可以為連線停用「Fetch Information Schema For SQL Writing」選項。停用這項功能會導致部分 Looker SQL 無法針對特定功能進行最佳化,因此除非您知道連線的資訊結構定義特別慢,否則應啟用「Fetch Information Schema For SQL Writing」選項。
預估費用
「費用估算」切換鈕僅適用於下列資料庫連線:
- Snowflake
- Amazon Redshift
- Amazon Aurora
- PostgreSQL、PostgreSQL 適用的 Google Cloud SQL 和 Microsoft Azure PostgreSQL
開啟「費用預估」切換鈕後,連線就會啟用下列功能:
詳情請參閱「在 Looker 中探索資料」說明文件。
保有一組資料庫連線
對於支援資料庫連線匯集功能的方言,這項功能可讓 Looker 透過 JDBC 驅動程式使用連線匯集。資料庫連線集區可提升查詢效能;新查詢不必建立新的資料庫連線,而是可以使用連線集區中的現有連線。連線集區功能可確保在查詢執行後清除連線,並在查詢執行結束後可供重複使用。詳情請參閱「資料庫連線集區」說明文件頁面。
測試連線設定
您可以在 Looker 使用者介面中的幾個位置測試連線設定:
- 選取「連線設定」頁面底部的「測試」按鈕。
- 在「連線設定」管理員頁面中,選取連線項目旁的「測試」按鈕,如「連線設定」說明文件頁面所述。
輸入連線設定後,請按一下「測試」,確認資訊正確無誤,且資料庫可連線。
如果連線無法通過一或多項測試,請嘗試下列排解問題的做法:
- 請嘗試執行「測試資料庫連線」說明文件中的部分疑難排解步驟。
- 如果您在 Atlas 上執行 Mongo 3.6 以下版本,且發生通訊連結失敗,請參閱 Mongo Connector 說明文件頁面。
- 如要接收有關臨時結構定義和 PDT 的連線成功訊息,您必須在設定 Looker 資料庫時允許該功能。如需操作說明,請參閱「資料庫設定操作說明」說明文件頁面。
如果問題仍未解決,請提出支援要求。
以使用者身分進行測試
如果您已將一或多個連線參數值設定為使用者屬性,系統就會顯示「Test as User」選項。選取使用者,然後按一下「測試」,確認資料庫可以以該使用者身分連線及執行查詢。
後續步驟
將資料庫連線至 Looker 後,您就可以為使用者設定登入選項。