Menu

Tree [45b660] main /
 History

HTTPS access


File Date Author Commit
 .github 2025-05-26 Xiaojian Sun Xiaojian Sun [0be7e9] [#7082] feat(deploy): Support chart deployment ...
 .idea 2024-07-30 totalo totalo [6901f3] [#4312] improvement(build): show gravitino logo...
 api 2025-06-06 XiaoZ XiaoZ [3d5337] [#7307] improvement(model): support list model ...
 authorizations 2025-05-30 Xiaojian Sun Xiaojian Sun [c4828e] [#7242] Improvement(authz): Fix possible bug in...
 bin 2025-03-20 Lord of Abyss Lord of Abyss [95bff7] [#6603] chore(*): fix CLI.sh can't find the Jar...
 bundles 2025-03-13 FANNG FANNG [b23763] [#6654] fix(bundle): remove log4j from Gravitin...
 catalogs 2025-06-07 Yunchi Pang Yunchi Pang [45b660] [#6860] docs: add OpenAPI docs for fileset/file...
 clients 2025-06-06 XiaoZ XiaoZ [3d5337] [#7307] improvement(model): support list model ...
 common 2025-06-06 XiaoZ XiaoZ [3d5337] [#7307] improvement(model): support list model ...
 conf 2025-04-25 FANNG FANNG [b52255] [#7068] fix(server): Fix unexpected output in g...
 core 2025-06-06 XiaoZ XiaoZ [3d5337] [#7307] improvement(model): support list model ...
 dev 2025-06-06 FANNG FANNG [2a2968] [#7165] feat(docker): move jar downloading from...
 docs 2025-06-07 Yunchi Pang Yunchi Pang [45b660] [#6860] docs: add OpenAPI docs for fileset/file...
 flink-connector 2025-05-26 Guilherme Santos Guilherme Santos [7b94ec] [#7221] Fix exception handling: catch Exception...
 gradle 2025-06-03 Lord of Abyss Lord of Abyss [711d27] [#7177] feat(core): Add a Caffeine-based implem...
 iceberg 2025-05-31 Yunchi Pang Yunchi Pang [496ca1] [#7219] docs: add missing deprecated javadoc ta...
 integration-test-common 2025-04-23 Tian Lu Tian Lu [956413] [#6697] fix(spark): fix throw exception during ...
 licenses 2025-03-11 Justin Mclean Justin Mclean [e5a33f] [#6330] Fix headers / license file (#6666)
 lineage 2025-05-26 youngseojeon youngseojeon [c23f11] [#7222] fix(lineage): Remove unnecessary toStri...
 rfc 2024-12-10 HONGGEUN JI HONGGEUN JI [aebb9d] [#5633] remove the key-value storage backend lo...
 scripts 2025-04-14 mchades mchades [de7af7] [#6890] feat(core): backend storage supports fi...
 server 2025-06-07 Yunchi Pang Yunchi Pang [45b660] [#6860] docs: add OpenAPI docs for fileset/file...
 server-common 2025-05-30 Raveendra Pujari Raveendra Pujari [89d5df] [#7284] [Improvement] remove unneeded throws (#...
 spark-connector 2025-05-28 tian bao tian bao [c25e96] [#7287] fix(spark-connector): remove slf4j depe...
 trino-connector 2025-05-31 Yunchi Pang Yunchi Pang [496ca1] [#7219] docs: add missing deprecated javadoc ta...
 web 2025-05-26 Kyle Lin Kyle Lin [c449a4] [#7198] fix(web): Removes redundant text on the...
 .asf.yaml 2025-04-18 Jerry Shao Jerry Shao [dc3bba] [MINOR] Temporary disable tag protection to del...
 .gitattributes 2024-02-07 Justin Mclean Justin Mclean [e74e9e] [Minor] Force line endings to be LF not CRLF (#...
 .gitignore 2025-04-10 Kang Kang [a685e0] [MINOR] docs: fix several typo in docs (#6885)
 CODE_OF_CONDUCT.md 2024-07-05 Justin Mclean Justin Mclean [2133d9] [#4073] Update policies to be in line with ASF ...
 CONTRIBUTING.md 2024-11-19 Justin Mclean Justin Mclean [b49a19] [Minor] Update CONTRIBUTING.md to improve clari...
 GOVERNANCE.md 2025-05-22 Justin Mclean Justin Mclean [ba5af5] [Minor] Remove disclaimer and mention of incuba...
 LICENSE 2025-04-29 roryqi roryqi [75a1a4] [#7087] fix(license): Fix the licenses issues (...
 LICENSE.bin 2025-06-03 Lord of Abyss Lord of Abyss [711d27] [#7177] feat(core): Add a Caffeine-based implem...
 LICENSE.rest 2024-12-10 HONGGEUN JI HONGGEUN JI [aebb9d] [#5633] remove the key-value storage backend lo...
 LICENSE.trino 2025-01-10 Justin Mclean Justin Mclean [c0b3b5] [#6173] fix Trino license and notice files (#6173)
 MAINTAINERS.md 2025-05-22 Justin Mclean Justin Mclean [ba5af5] [Minor] Remove disclaimer and mention of incuba...
 NOTICE 2025-05-22 Justin Mclean Justin Mclean [ba5af5] [Minor] Remove disclaimer and mention of incuba...
 NOTICE.bin 2025-05-22 Justin Mclean Justin Mclean [ba5af5] [Minor] Remove disclaimer and mention of incuba...
 NOTICE.rest 2025-05-22 Justin Mclean Justin Mclean [ba5af5] [Minor] Remove disclaimer and mention of incuba...
 NOTICE.trino 2025-05-22 Justin Mclean Justin Mclean [ba5af5] [Minor] Remove disclaimer and mention of incuba...
 README.md 2025-05-22 Justin Mclean Justin Mclean [ba5af5] [Minor] Remove disclaimer and mention of incuba...
 ROADMAP.md 2024-11-14 Justin Mclean Justin Mclean [fe041a] [Minor] Update ROADMAP.md (#5572)
 SECURITY.md 2024-07-05 Justin Mclean Justin Mclean [2133d9] [#4073] Update policies to be in line with ASF ...
 build.gradle.kts 2025-05-27 Eric Chang Eric Chang [a4b0d7] [#5803] feat(docker-image): Change username in ...
 gradle.properties 2025-06-04 Jerry Shao Jerry Shao [f0f54c] [#7305] improve: Change the version from 0.10.0...
 gradlew 2024-11-13 Jerry Shao Jerry Shao [4de708] [#5535] fix(build,license): Fix the gradle publ...
 settings.gradle.kts 2025-04-08 FANNG FANNG [8bcfba] [#6779] feat(core): Support lineage framework i...

Read Me

Apache Gravitino™

GitHub Actions Build
GitHub Actions Integration Test
License
Contributors
Release
Open Issues
Last Committed
OpenSSF Best Practices

Introduction

Apache Gravitino is a high-performance, geo-distributed, and federated metadata lake. It manages metadata directly in different sources, types, and regions, providing users with unified metadata access for data and AI assets.

Gravitino Architecture

Gravitino aims to provide several key features:
* Unified Metadata Management: Gravitino provides a unified model and API to manage different types of metadata, including relational (e.g., Hive, MySQL) and file-based (e.g., HDFS, S3) metadata sources.
* End-to-End Data Governance: Gravitino offers a unified governance layer for managing metadata with features like access control, auditing, and discovery.
* Direct Metadata Management: Gravitino connects directly to metadata sources via connectors, ensuring changes are instantly reflected between Gravitino and the underlying systems.
* Geo-Distribution Support: Gravitino enables deployment across multiple regions or clouds, allowing instances to share metadata for a global cross-region view.
* Multi-Engine Support: Gravitino supports query engines enabling metadata access without modifying SQL dialects.
* AI Asset Management (WIP): Gravitino is expanding to manage both data and AI assets, with support for AI models and features currently in development.

Contributing to Apache Gravitino

Gravitino is open source software available under the Apache 2.0 license. For information on contributing to Gravitino, please see the Contribution guidelines.

Online documentation

The latest Gravitino documentation is available on our official website. This README file only contains basic setup instructions.

Building Apache Gravitino

You can build Gravitino using Gradle. Currently, you can build Gravitino on Linux and macOS, and Windows isn't supported.

To build Gravitino, please run:

./gradlew clean build -x test

If you want to build a distribution package, please run:

./gradlew compileDistribution -x test

to build a distribution package.

Or:

./gradlew assembleDistribution -x test

to build a compressed distribution package.

The directory distribution contains the generated binary distribution package.

Please see How to build Gravitino for details on building and testing Gravitino.

Quick start

Use Gravitino playground

This is the recommended approach. Gravitino provides a docker-compose-based playground where you can experience a whole system alongside other components. Clone or download the Gravitino playground repository and then follow the README, to get everything running.

Configure and start Gravitino server in local

To start Gravitino on your machine, download a binary package from the download page and decompress the package.

Before starting the Gravitino server, configure its settings by editing the gravitino.conf file located in the conf directory. This file follows the standard properties file format, allowing you to modify the server configuration as needed.

To start the Gravitino server, please run:

./bin/gravitino.sh start

To stop the Gravitino server, please run:

./bin/gravitino.sh stop

Alternatively, to run the Gravitino server in the frontend, please run:

./bin/gravitino.sh run

And press CTRL+C to stop the Gravitino server.

Gravitino Iceberg REST catalog service

Gravitino provides Iceberg REST catalog service to manage Iceberg efficiently. For more details, refer to Gravitino Iceberg REST catalog service.

Using Trino with Apache Gravitino

Gravitino provides a Trino connector for accessing metadata within Gravitino. To use Trino with Gravitino, please follow the trino-gravitino-connector doc.

Development guide

  1. How to build Gravitino
  2. How to test Gravitino
  3. How to publish Docker images

License

Gravitino is licensed under the Apache License Version 2.0. For details, see the LICENSE.

Apache®, Apache Gravitino™, Apache Hadoop®, Apache Hive™, Apache Iceberg™, Apache Kafka®, Apache Spark™, Apache Submarine™, Apache Thrift™ and Apache Zeppelin™ are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.