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 aims to provide several key features:
- Single source of truth for multi-regional data with geo-distributed architecture support.
- Unified data and AI asset management for both users and engines.
- Security in one place, centralizing the security for different sources.
- Built-in data management and data access management.
Gravitino is open source software available under the Apache 2.0 license. For information on contributing to Gravitino, please see the Contribution guidelines.
The latest Gravitino documentation is available on our official website. This README file only contains basic setup instructions.
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.
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.
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 provides Iceberg REST catalog service to manage Iceberg efficiently. For more details, refer to Gravitino Iceberg REST catalog service.
Gravitino provides a Trino connector for accessing metadata within Gravitino. To use Trino with Gravitino, please follow the trino-gravitino-connector doc.
Gravitino is licensed under the Apache License Version 2.0. For details, see the LICENSE.
Apache Gravitino is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required for all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
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.