Apache Hive

本頁面提供將 Looker 連線至 Apache Hive 2.3 以上版本和 Apache Hive 3.1.2 以上版本的相關資訊。

請注意,Looker 支援不同版本的 Apache Hive 時,有以下幾點:

  • Looker 支援連線至 Apache Hive 2.3 以上版本和 Apache Hive 3.1.2 以上版本。
  • 如果是 Apache Hive 3.1.2 以上版本,Looker 只能與 3.1.2 以上版本的 Apache Hive 3 資料庫完全整合。這是因為 Hive 2.4.0 至 3.1.2 版本發生查詢剖析問題,導致 Looker 產生的 SQL 剖析時間過長。
  • 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 的使用者帳戶 (如果未使用驗證,則可為匿名) 必須在暫存結構定義中具備下列功能:

  • 製作表格
  • 修改資料表
  • 捨棄資料表

請先使用 JDBC 用戶端測試,再嘗試使用 Hive 建立 PDT。

佇列

如要將 Looker 的查詢傳送至特定佇列,請在「連線設定」頁面的「其他 JDBC 參數」欄位中輸入佇列名稱參數:

?tez.queue.name=the_bi_queue

您可以在「連線設定」頁面的「其他 JDBC 參數」欄位中,以這種方式設定其他 Hive 參數。

使用使用者屬性,不同使用者或使用者群組的查詢可能會進入不同佇列。如要這麼做,請建立名為 queue_name 的使用者屬性,然後在「Additional JDBC parameters」(額外 JDBC 參數) 欄位中新增下列內容:

?tez.queue.name={{ _user_attributes['queue_name'] }}

您也可以使用這項功能,依據使用者或群組自訂其他 hive-site.xml 參數。

建立 Looker 資料庫連線

請按照下列步驟,在 Looker 中建立與資料庫的連線:

  1. 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」
  2. 從「Dialect」下拉式選單中選取「Apache Hive 2.3+」或「Apache Hive 3.1.2+」

  3. 填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。以下說明部分設定:

    • 名稱:指定連線名稱。您會在 LookML 專案中參照這個連線。
    • 主機:指定主機名稱。
    • 「Port」(通訊埠):指定資料庫通訊埠。
    • 資料庫:指定資料庫名稱。
    • 使用者名稱:指定資料庫使用者名稱。
    • 「Password」(密碼):指定資料庫使用者密碼。
    • 啟用 PDT:使用這個切換按鈕啟用永久衍生資料表。啟用 PDT 後,「連線」視窗會顯示其他 PDT 設定和「PDT 覆寫」部分。
    • 暫存資料庫:指定在本說明文件頁面「永久衍生資料表 (PDT)」部分中建立的暫存結構定義名稱。
    • PDT 建構工具連線數量上限:指定此連線可並行建構 PDT 的數量。如果這個值設得太高,可能會對查詢時間造成負面影響。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
    • 其他 JDBC 參數:指定任何其他 JDBC 字串參數。
    • 維護時間表:指定 cron 運算式,指出 Looker 應在何時檢查資料群組和永久衍生資料表。如要進一步瞭解這項設定,請參閱「維護時間表」說明文件。
    • SSL:勾選這個選項即可使用 SSL 連線。
    • 驗證 SSL:檢查主機名稱驗證。
    • 每個節點的連線數上限:一開始可以保留預設值。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
    • 連線集區逾時:一開始可以保留預設值。如要進一步瞭解這項設定,請參閱「將 Looker 連線至資料庫」說明頁面的「連線集區逾時」一節。
    • SQL Runner 預先快取:如要讓 SQL Runner 不要預先載入資料表資訊,只在選取資料表時載入資訊,請取消勾選這個選項。如要進一步瞭解這項設定,請參閱「將 Looker 連線至資料庫」說明頁面的「SQL Runner 預先快取」一節。
    • 資料庫時區:指定資料庫中使用的時區。如不想轉換時區,請將這個欄位留空。詳情請參閱「使用時區設定」說明文件頁面。
  4. 如要確認連線是否成功,請按一下「測試」。如需疑難排解資訊,請參閱「測試資料庫連線」說明文件頁面。

  5. 如要儲存這些設定,請按一下「連線」

功能支援

如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。

Apache Hive 2.3 以上版本

自 Looker 25.10 起,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 25.10 起,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 後,請為使用者設定登入選項