Hive-BigQuery 連接器

開放原始碼的 Hive-BigQuery 連接器可讓 Apache Hive 工作負載從 BigQueryBigLake 資料表讀取及寫入資料。您可以將資料儲存在 BigQuery 儲存空間,或 Cloud Storage 的開放原始碼資料格式中。

Hive-BigQuery 連接器會實作 Hive Storage Handler API,讓 Hive 工作負載與 BigQuery 和 BigLake 表格整合。Hive 執行引擎會處理匯總和聯結等運算作業,而連接器則會管理與 BigQuery 中儲存資料的互動,或是與 BigLake 連線的 Cloud Storage 儲存空間。

下圖說明 Hive-BigQuery 連接器如何介於運算和資料層之間。

Hive-BigQuery 連接器架構

用途

在常見的資料導向情境中,Hive-BigQuery 連接器可協助您:

  • 資料遷移。您打算將 Hive 資料倉儲遷移至 BigQuery,然後逐步將 Hive 查詢轉換為 BigQuery SQL 方言。由於資料倉儲的規模和連線應用程式數量龐大,您預期遷移作業會耗費大量時間,因此需要確保遷移作業期間的連續性。工作流程如下:

    1. 將資料移至 BigQuery
    2. 使用連接器存取及執行原始 Hive 查詢,同時逐步將 Hive 查詢轉換為符合 BigQuery ANSI 標準的 SQL 方言。
    3. 完成遷移和轉換後,即可停用 Hive。
  • Hive 和 BigQuery 工作流程。您打算使用 Hive 處理部分工作,並使用 BigQuery 處理可善用其功能 (例如 BigQuery BI EngineBigQuery ML) 的工作負載。您可以使用連接器,將 Hive 資料表與 BigQuery 資料表聯結。

  • 依賴開放原始碼軟體 (OSS) 堆疊。為避免遭供應商綁架,您可為資料倉儲使用完整的 OSS 堆疊。你的數據方案如下:

    1. 您可以使用 BigLake 連線,將原始 OSS 格式 (例如 Avro、Parquet 或 ORC) 的資料遷移至 Cloud Storage 值區。

    2. 您仍可使用 Hive 執行及處理 Hive SQL 方言查詢。

    3. 視需要使用連接器連線至 BigQuery,即可享有下列功能:

功能

您可以使用 Hive-BigQuery 連接器處理 BigQuery 資料,並完成下列工作:

  • 使用 MapReduce 和 Tez 執行引擎執行查詢。
  • 從 Hive 建立及刪除 BigQuery 資料表。
  • 將 BigQuery 和 BigLake 資料表與 Hive 資料表聯結。
  • 使用 Storage Read API 串流和 Apache Arrow 格式,從 BigQuery 資料表快速讀取資料
  • 使用下列方法將資料寫入 BigQuery:
    • 使用 BigQuery Storage Write API 以待處理模式直接寫入。如果工作負載需要低寫入延遲,例如更新時間間隔很短的近乎即時的資訊主頁,請使用這個方法。
    • 間接寫入:將暫時的 Avro 檔案暫存至 Cloud Storage,然後使用 Load Job API 將檔案載入目的地資料表。由於 BigQuery 載入作業不會產生費用,因此這個方法比直接載入便宜。由於這個方法速度較慢,最適合用於對時間要求不高的工作負載
  • 存取 BigQuery 時間分區叢集資料表。以下範例定義了 Hive 資料表與 BigQuery 中經過分區和叢集處理的資料表之間的關係。

    CREATE TABLE my_hive_table (int_val BIGINT, text STRING, ts TIMESTAMP)
    STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
    TBLPROPERTIES (
    'bq.table'='myproject.mydataset.mytable',
    'bq.time.partition.field'='ts',
    'bq.time.partition.type'='MONTH',
    'bq.clustered.fields'='int_val,text'
    );
  • 修剪資料欄,避免從資料層擷取不必要的資料欄。

  • 使用述詞下推功能,在 BigQuery 儲存層預先篩選資料列。這項技術可減少在網路上傳輸的資料量,因此能大幅提升整體查詢效能。

  • 自動將 Hive 資料類型轉換為 BigQuery 資料類型。

  • 請參閱 BigQuery 檢視畫面資料表快照

  • 與 Spark SQL 整合。

  • 與 Apache Pig 和 HCatalog 整合。

開始使用

請參閱在 Hive 叢集上安裝及設定 Hive-BigQuery 連接器的操作說明