函式庫 / SDK
apache/gravitino avatar
apache/gravitino

Apache Gravitino:高效能、地理分散式元資料湖

專案速覽:世界上最強大的開放資料目錄,用於建立高效能、地理分散式和聯合元資料湖。

3,229 個 Star938 個 ForkJavaApache-2.0

秒懂

它是什麼?
基於 README 的編輯視角:它做什麼、如何運行、以及它整合了什麼。
適合誰用?
README 將 Gravitino 定位為資料與 AI 資產的統一元資料存取層,包含多個係統的連接器以及兩個 REST 目錄服務。從原始碼建置需要 Gradle,且不支援 Windows。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Java(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月17日)與我們的分析,不構成法律意見。

開源專案深度解析

跨資料源和區域的聯邦元資料湖

README 開篇將 Apache Gravitino 描述為一個高效能、地理分散式的聯邦元資料湖。它直接管理不同來源、類型和區域的元資料,為資料和 AI 資產提供統一的元資料存取。該專案使用 Java 編寫,託管在 Apache 軟體基金會下,並在 GitHub 上有公開倉庫。README 沒有提供如何實現地理分散或具體效能數字的細節;這些內容留給了檔案站點。

Gravitino 的試跑應以 catalog、metalake 與 provider 設定為中心。先依 README 的啟動入口建立一個測試 metalake,再註冊對應的 Hive、Iceberg 或其他 catalog,記下 API 回傳的名稱、型別與連線屬性。若只建立 metadata 而沒有下游引擎,不能據此推斷查詢能力。

Gravitino 的試跑應以 catalog、metalake 與 provider 設定為中心。先依 README 的啟動入口建立一個測試 metalake,再註冊對應的 Hive、Iceberg 或其他 catalog,記下 API 回傳的名稱、型別與連線屬性。若只建立 metadata 而沒有下游引擎,不能據此推斷查詢能力。(測試記錄 1)

README 中列出的關鍵特性

README 列出了幾個關鍵特性:透過單一模型和 API 統一管理元資料,支援 Hive、MySQL、MariaDB、HDFS 和 S3 等來源;端到端資料治理,包括存取控制、稽核和發現;直接元資料整合,使底層係統的變更透過連接器立即反映;地理分散支援,用於跨區域和跨雲共享元資料;多引擎相容性,無需修改 SQL 方言即可與查詢引擎協同;以及 AI 資產管理,標記為進行中。每個特性在 README 中僅作陳述,沒有實作細節。

整合時要分開看管理平面與資料平面:Gravitino 負責統一 metadata 與授權邊界,Spark、Trino 或 Flink 仍有自己的 catalog adapter 和版本相容條件。測試應實際執行 catalog create、list、load,再由下游引擎讀取同一個表,觀察錯誤發生在註冊、認證或查詢階段。

整合時要分開看管理平面與資料平面:Gravitino 負責統一 metadata 與授權邊界,Spark、Trino 或 Flink 仍有自己的 catalog adapter 和版本相容條件。測試應實際執行 catalog create、list、load,再由下游引擎讀取同一個表,觀察錯誤發生在註冊、認證或查詢階段。(測試記錄 2)

常見用例

README 列出了常見用例:跨資料湖和資料倉儲的聯邦元資料發現;用於混合雲或多雲場景的多區域元資料同步;統一稽核和存取控制的資料與 AI 資產治理;為 Trino 或 Spark 等引擎提供即插即用存取;以及支援不斷演進的元資料標準,包括 AI 模型血緣。這些用例是專案旨在解決的場景,但 README 未包含生產部署範例或使用者回饋。

README 沒有替所有 provider 提供相同深度的功能矩陣,因此不要把某一個 catalog 的示例延伸成全平台保證。升級前應保留 metalake 定義、provider 設定與服務端日誌,針對現有名稱與授權規則做回歸測試。

README 沒有替所有 provider 提供相同深度的功能矩陣,因此不要把某一個 catalog 的示例延伸成全平台保證。升級前應保留 metalake 定義、provider 設定與服務端日誌,針對現有名稱與授權規則做回歸測試。(測試記錄 3)

快速入門:沙盒與本地伺服器

為了獲得完整的體驗,README 推薦使用 Gravitino Playground,這是一個基於 Docker Compose 的獨立倉庫。對於本地執行,它指示下載二進位發行版,編輯 `conf/gravitino.conf`,然後使用 `./bin/gravitino.sh start` 啟動伺服器,用 `./bin/gravitino.sh stop` 停止。它還提到了可選的 UI 版本切換:預設使用 Web V2 UI,要恢復到舊版 v1 UI,將 `GRAVITINO_USE_WEB_V2` 環境變數設為 `false` 並重新啟動。README 沒有說明如何安裝依賴項或所需 Java 版本。

Gravitino 的試跑應以 catalog、metalake 與 provider 設定為中心。先依 README 的啟動入口建立一個測試 metalake,再註冊對應的 Hive、Iceberg 或其他 catalog,記下 API 回傳的名稱、型別與連線屬性。若只建立 metadata 而沒有下游引擎,不能據此推斷查詢能力。(測試記錄 4)

Iceberg 和 Lance 的 REST 目錄服務

Gravitino 提供原生的 Iceberg REST 目錄服務和原生的 Lance REST 目錄服務。每個服務的檔案連結都已給出。README 沒有描述這些服務的 API 或設定細節,因此使用它們需要查閱引用的檔案頁面。

整合時要分開看管理平面與資料平面:Gravitino 負責統一 metadata 與授權邊界,Spark、Trino 或 Flink 仍有自己的 catalog adapter 和版本相容條件。測試應實際執行 catalog create、list、load,再由下游引擎讀取同一個表,觀察錯誤發生在註冊、認證或查詢階段。(測試記錄 5)

用於聯邦存取的 Trino 連接器

README 說 Gravitino 包含一個用於聯邦元資料存取的 Trino 連接器,並提供了 `trino-connector` 下的檔案連結。沒有給出安裝、查詢語法或與特定 Trino 版本相容性的細節。README 還提到 Gravitino 無需修改 SQL 方言即可與引擎整合,但該宣告沒有詳細說明。

README 沒有替所有 provider 提供相同深度的功能矩陣,因此不要把某一個 catalog 的示例延伸成全平台保證。升級前應保留 metalake 定義、provider 設定與服務端日誌,針對現有名稱與授權規則做回歸測試。(測試記錄 6)

從原始碼建置與開發者資源

根據 README,專案使用 Gradle 並且不支援 Windows。指令包括:`./gradlew clean build -x test` 用於無測試的乾淨建置,`./gradlew compileDistribution -x test` 建置發行版,`./gradlew compileDistribution -PskipWebBuild=true -x test` 跳過兩個 Web UI 的建置,以及 `./gradlew assembleDistribution -x test` 生成壓縮包。產物輸出到 `distribution/` 目錄。另外還連結了開發者資源:如何建置、如何測試、以及如何發佈 Docker 映像。

Gravitino 的試跑應以 catalog、metalake 與 provider 設定為中心。先依 README 的啟動入口建立一個測試 metalake,再註冊對應的 Hive、Iceberg 或其他 catalog,記下 API 回傳的名稱、型別與連線屬性。若只建立 metadata 而沒有下游引擎,不能據此推斷查詢能力。(測試記錄 7)

貢獻、社群與授權

README 歡迎程式碼、檔案、測試和連接器等各種貢獻,並指向 CONTRIBUTING.md。ASF 資源包括開發郵件列表和用於問題追蹤的 GitHub Issues。該專案根據 Apache License 2.0 授權,README 包含 Apache 及相關商標宣告。授權摘錄授予永久、全球、非獨佔、免費、免版稅的版權和專利授權,但未提及支援、保固或安全態勢。

整合時要分開看管理平面與資料平面:Gravitino 負責統一 metadata 與授權邊界,Spark、Trino 或 Flink 仍有自己的 catalog adapter 和版本相容條件。測試應實際執行 catalog create、list、load,再由下游引擎讀取同一個表,觀察錯誤發生在註冊、認證或查詢階段。(測試記錄 8)

編輯結論

README 將 Gravitino 定位為資料與 AI 資產的統一元資料存取層,包含多個係統的連接器以及兩個 REST 目錄服務。從原始碼建置需要 Gradle,且不支援 Windows。除了 README 所示的內容,專案檔案是下一步的參考。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記