本頁面說明如何將 Looker 連至 Apache Hive 2.3 以上版本和 Apache Hive 3.1.2 以上版本。
請注意,Looker 支援不同版本的 Apache Hive:
- Looker 支援連線至 Apache Hive 2.3 以上版本和 Apache Hive 3.1.2 以上版本:
- Looker 不支援連線至 Apache Hive 2。查詢 Apache Hive 2 連線會傳回錯誤。
加密網路流量
最佳做法是加密 Looker 應用程式和資料庫之間的網路流量。請考慮採用「啟用安全的資料庫存取權」說明文件頁面所述的其中一個選項。
簡介
Looker 的架構設計是使用 JDBC 連線至資料庫伺服器。以 Hive 來說,這就是 Thrift 伺服器 (HiveServer2)。詳情請參閱 Apache 說明文件。
根據預設,這個伺服器會監聽通訊埠 10000。
Looker 是互動式查詢工具,因此需要搭配互動式 SQL 引擎。如果 Hive 在 MapReduce 上執行 (hive.execution.engine 設為 mr),則 Hive 傳回查詢結果的速度會太慢,不實用。
Looker 經過測試,可與 Hive on Tez (hive.execution.engine=tez) 搭配使用,但也可以與 Hive on Spark 搭配使用。Hive 1.1 版新增了 Spark 支援。(Looker 支援 Hive 1.2.1 以上版本)。
永久衍生資料表 (PDT)
如要在 Looker 中使用 Hive 連線啟用永久衍生資料表 (PDT),請建立臨時結構定義供 Looker 使用。以下是可用來建立 looker_scratch 結構定義的指令範例:
CREATE SCHEMA looker_scratch;
Looker 用來連線至 Hive 的使用者帳戶 (如果未使用驗證,則可為匿名帳戶),必須在臨時結構定義中具備下列能力:
- 製作表格
- 修改資料表
- 捨棄資料表
請先使用 JDBC 用戶端測試,再嘗試透過 Hive 建立 PDT。
佇列
如要將 Looker 的查詢傳送至特定佇列,請在「Connection Settings」(連線設定) 頁面的「Additional JDBC parameters」(其他 JDBC 參數) 欄位中,輸入佇列名稱參數:
?tez.queue.name=the_bi_queue
如要設定其他 Hive 參數,請前往「連線設定」頁面,在「其他 JDBC 參數」欄位中設定。
使用使用者屬性,可將不同使用者或不同使用者群組的查詢,導向不同的佇列。如要這麼做,請建立名為 queue_name 的使用者屬性,然後在「Additional JDBC parameters」欄位中新增下列內容:
?tez.queue.name={{ _user_attributes['queue_name'] }}
您也可以使用這項功能,為個別使用者或群組自訂其他 hive-site.xml 參數。
建立 Looker 與資料庫的連線
請按照下列步驟,建立 Looker 到資料庫的連線:
- 在 Looker 的「Admin」(管理) 部分,選取「Connections」(連線),然後點選「Add Connection」(新增連線)。
從「Dialect」(方言) 下拉式選單中,選取「Apache Hive 2.3+」或「Apache Hive 3.1.2+」。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。請參閱「將 Looker 連線至資料庫」說明文件頁面。以下說明部分設定:
- 名稱:指定連線名稱。這是您在 LookML 專案中參照連線的方式。
- Host:指定主機名稱。
- 通訊埠:指定資料庫通訊埠。
- 資料庫:指定資料庫名稱。
- 使用者名稱:指定資料庫使用者名稱。
- 密碼:指定資料庫使用者密碼。
- 啟用 PDT:使用這個切換鈕啟用永久衍生資料表。啟用 PDT 後,「連線」視窗會顯示其他 PDT 設定和「PDT 覆寫」部分。
- Temp Database:指定在本說明文件頁面「永久衍生資料表 (PDT)」一節中建立的臨時結構定義名稱。
- PDT 建構工具連線數量上限:指定這個連線可同時執行的 PDT 建構作業數量。如果這個值設得太高,可能會對查詢時間造成負面影響。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
- 其他 JDBC 參數:新增任何其他 JDBC 參數。如需支援的參數清單,請參閱本頁的「支援的 JDBC 參數」一節。
- 維護排程:指定
cron運算式,指出 Looker 應在何時檢查資料群組和永久衍生資料表。如要進一步瞭解這項設定,請參閱維護排程說明文件。 - SSL:勾選即可使用 SSL 連線。
- 驗證 SSL:檢查主機名稱驗證。
- 每個節點的連線數量上限:這項設定一開始可以保留預設值。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
- 連線集區逾時:這項設定一開始可以保留預設值。如要進一步瞭解這項設定,請參閱「將 Looker 連結至資料庫」說明文件頁面的「連線集區逾時」一節。
- SQL Runner 預先快取:如要讓 SQL Runner 不預先載入資料表資訊,而是在選取資料表時才載入,請取消勾選這個選項。如要進一步瞭解這項設定,請參閱「將 Looker 連結至資料庫」說明文件頁面的「SQL Runner 預先快取」一節。
- 資料庫時區:指定資料庫使用的時區。如果不想轉換時區,請將這個欄位留空。詳情請參閱「使用時區設定」說明文件頁面。
如要確認連線成功,請按一下「連線設定」頁面底部「狀態詳細資料」部分中的「測試連線」按鈕。
如果 Looker 顯示「可連線」,請按下「連線」建立連線。
資料庫連線就會新增至 Looker「連線」管理頁面的清單中。
支援的 JDBC 參數
如果是 Apache Hive,Looker 支援在連線的「Additional JDBC parameters」(其他 JDBC 參數) 欄位中,使用下列 JDBC 參數。如要瞭解這些參數,請參閱資料庫的說明文件。
fetchSizehttpPathkeyStorePasswordpasswordprincipalserviceDiscoveryModessltez.queue.nametransportModetwoWayuserzooKeeperNamespace
功能支援
Looker 支援的功能,也必須由資料庫方言支援。
Apache Hive 2.3 以上版本
自 Looker 26.22 起,Apache Hive 2.3 以上版本支援下列功能:
| 功能 | 是否支援? |
|---|---|
| Looker (Google Cloud Core) | |
| 對稱式匯總函式 | |
| 衍生資料表 | |
| 永久 SQL 衍生資料表 | |
| 永久原生衍生資料表 | |
| 穩定檢視畫面 | |
| 終止查詢 | |
| 以 SQL 為基礎的透視表 | |
| 時區 | |
| SSL | |
| 小計 | |
| JDBC 額外參數 | |
| 區分大小寫 | |
| 位置類型 | |
| 清單類型 | |
| 百分位數 | |
| 不重複值的百分位數 | |
| SQL Runner 顯示程序 | |
| SQL Runner Describe Table | |
| SQL Runner 顯示索引 | |
| SQL Runner 選取 10 | |
| SQL Runner 計數 | |
| SQL 說明 | |
| OAuth 2.0 憑證 | |
| 背景資訊註解 | |
| 連線集區 | |
| HLL Sketch | |
| 匯總感知 | |
| 增量 PDT | |
| 毫秒 | |
| 微秒 | |
| materialized view | |
| 期間比較指標 | |
| 不重複值的近似計數 | |
| 資料庫內分析模型 | |
| 自訂日曆 |
Apache Hive 3.1.2+
自 Looker 26.22 起,Apache Hive 3.1.2 以上版本支援下列功能:
| 功能 | 是否支援? |
|---|---|
| Looker (Google Cloud Core) | |
| 對稱式匯總函式 | |
| 衍生資料表 | |
| 永久 SQL 衍生資料表 | |
| 永久原生衍生資料表 | |
| 穩定檢視畫面 | |
| 終止查詢 | |
| 以 SQL 為基礎的透視表 | |
| 時區 | |
| SSL | |
| 小計 | |
| JDBC 額外參數 | |
| 區分大小寫 | |
| 位置類型 | |
| 清單類型 | |
| 百分位數 | |
| 不重複值的百分位數 | |
| SQL Runner 顯示程序 | |
| SQL Runner Describe Table | |
| SQL Runner 顯示索引 | |
| SQL Runner 選取 10 | |
| SQL Runner 計數 | |
| SQL 說明 | |
| OAuth 2.0 憑證 | |
| 背景資訊註解 | |
| 連線集區 | |
| HLL Sketch | |
| 匯總感知 | |
| 增量 PDT | |
| 毫秒 | |
| 微秒 | |
| materialized view | |
| 期間比較指標 | |
| 不重複值的近似計數 | |
| 資料庫內分析模型 | |
| 自訂日曆 |
後續步驟
將資料庫連線至 Looker 後,請為使用者設定登入選項。