本頁面說明如何將 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 執行 Looker。Hive 1.1 版新增了 Spark 支援。(Looker 支援 Hive 1.2.1 以上版本)。
永久衍生資料表 (PDT)
若要使用 Hive 連線在 Looker 中啟用 持久衍生表 (PDT),請為 Looker 建立一個暫存模式。以下是一個可用來建立 looker_scratch 模式的命令範例:
CREATE SCHEMA looker_scratch;
Looker 用於連接到 Hive 的使用者帳戶(如果未使用身份驗證,則可以是匿名帳戶)必須在臨時架構中具有以下權限:
- 製作表格
- 修改表格
- 刪除表
在嘗試使用 Hive 建立 PDT 之前,請先使用 JDBC 用戶端進行測試。
佇列
如果您希望 Looker 的查詢進入特定佇列,請在參數中輸入佇列名稱。其他 JDBC 參數田野連接設定頁:
?tez.queue.name=the_bi_queue
Other Hive parameters can be set this way in the Additional JDBC parameters field on the連接設定頁。
使用 user attributes,來自不同使用者或不同使用者群組的查詢可以進入不同的佇列。為此,請建立一個名為類似 queue_name 的使用者屬性;然後,在 附加 JDBC 參數 欄位中,新增以下內容:
?tez.queue.name={{ _user_attributes['queue_name'] }}
您也可以使用此功能按使用者或按群組自訂其他 hive-site.xml 參數。
建立 Looker 資料庫連線
請依照以下步驟建立 Looker 與資料庫之間的連線:
- 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
從 方言 下拉選單中選擇 Apache Hive 2.3+ 或 Apache Hive 3.1.2+。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。如需相關資訊,請參閱「將 Looker 連線至資料庫」說明文件頁面。以下說明部分設定:
- 「名稱」:指定連線名稱。在 LookML 專案中,您將這樣引用連接。
- 主機:指定主機名稱。
- 連接埠: 指定資料庫連接埠。
- 資料庫:指定資料庫名稱。
- 使用者名稱: 指定資料庫使用者名稱。
- 密碼: 指定資料庫使用者密碼。
- 啟用 PDT:使用這個切換按鈕啟用永久衍生資料表。啟用 PDT 後,「連線」視窗會顯示其他 PDT 設定和「PDT 覆寫」部分。
- 暫存資料庫:指定在本說明文件頁面「永久衍生資料表 (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 支援連線的 附加 JDBC 參數 欄位中的下列 JDBC 參數。如要瞭解這些參數,請參閱資料庫的說明文件。
fetchSizehttpPathkeyStorePasswordpasswordprincipalserviceDiscoveryModessltez.queue.nametransportModetwoWayuserzooKeeperNamespace
功能支援
如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。
Apache Hive 2.3+
截至 Looker 26.16 版本,Apache Hive 2.3+ 支援以下功能:
| 功能 | 是否支援? |
|---|---|
| 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 | |
| 毫秒 | |
| 微秒 | |
| 具體化檢視表 | |
| 與前一段時期相比的指標 | |
| 不重複值的概略計數 | |
| 資料庫內分析模型 | |
| 自訂日曆 |
Apache Hive 3.1.2+
截至 Looker 26.16 版本,Apache Hive 3.1.2+ 支援以下功能:
| 功能 | 是否支援? |
|---|---|
| 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 後,請為使用者設定登入選項。