全部產品
Search
文件中心

E-MapReduce:Catalog概述

更新時間:Jul 01, 2024

本文為您介紹什麼是Catalog(資料目錄), 以及如何使用Catalog管理和查詢內外部資料。

基本概念

  • 內部資料:儲存在StarRocks中的資料。
  • 外部資料:儲存在外部資料源(例如Apache Hive、Apache Iceberg和Apache Hudi)中的資料。

Catalog

StarRocks 2.3及以上版本支援Catalog功能,方便您輕鬆訪問並查詢儲存在各類外部源的資料。當前StarRocks提供Internal Catalog和External Catalog兩種類型的Catalog。
  • Internal Catalog:內部資料目錄,用於管理StarRocks所有內部資料。例如,執行CREATE DATABASECREATE TABLE語句建立的資料庫和資料表都由Internal Catalog管理。 每個StarRocks叢集都有且只有一個Internal Catalog名為default_catalog
  • External Catalog:外部資料目錄,用於管理外部資料源的訪問資訊。例如,資料來源類型和Hive MetaStore的URI等。在StarRocks中,您可以通過External Catalog直接查詢外部資料。
    目前支援建立以下資料來源的External Catalog:
    使用External Catalog查詢資料時,StarRocks會用到外部資料源的兩個組件:
    • 中繼資料服務:用於將中繼資料暴露出來供StarRocks的FE進行查詢規劃。
    • 儲存系統:用於儲存資料。資料檔案以不同的格式儲存在Distributed File System或Object Storage Service系統中。當FE將產生的查詢計劃分發給各個BE後,各個BE會並行掃描Hive儲存系統中的目標資料,並執行計算返回查詢結果。

查詢資料

查詢內部資料

如果需要查詢儲存在StarRocks中的資料,請參見內表資料來源

查詢外部資料

如果需要查詢儲存在外部資料源中的資料,請參見資料湖分析

跨Catalog查詢資料

如果想在一個Catalog中查詢其他Catalog中資料,可通過catalog_name.db_namecatalog_name.db_name.table_name的格式來引用目標資料。例如:
  • default_catalog.olap_db下查詢hive_catalog中的hive_table
    SELECT * FROM hive_catalog.hive_db.hive_table;
  • hive_catalog.hive_db下查詢default_catalog中的olap_table
    SELECT * FROM default_catalog.olap_db.olap_table;
  • hive_catalog.hive_db中,對hive_table和default_catalog中的olap_table進行聯邦查詢。
    SELECT * FROM hive_table h JOIN default_catalog.olap_db.olap_table o WHERE h.id = o.id;
  • 在其他目錄下,對hive_catalog中的hive_tabledefault_catalog中的olap_table進行聯邦查詢。
    SELECT * FROM hive_catalog.hive_db.hive_table h JOIN default_catalog.olap_db.olap_table o WHERE h.id = o.id;