Gravitino overview
What's Gravitino?
Gravitino is a high-performance, geo-distributed, and federated metadata lake. It manages the metadata directly in different sources, types, and regions. It also provides users with unified metadata access for data and AI assets.
Downloading
You can get Gravitino from the GitHub release page, or you can build Gravitino from source code, please see How to build Gravitino.
Gravitino runs on both Linux and macOS, and requires Java 8. Gravitino trino-connector runs with
Trino, and requires Java 17. This should include JVMs on x86_64 and
ARM64. It's easy to run locally on one machine --- all you need is to have java
installed on
your system PATH
, or the JAVA_HOME
environment variable pointing to a Java installation.
See How to install Gravitino to learn how to install Gravitino server.
Gravitino provides Docker images on Docker Hub. Please pull the image and run it. For the details of the Gravitino Docker image, please see Docker image details.
Gravitino also provides a playground to experience the whole Gravitino system with other components. Please see the Gravitino playground repository and How to use the playground.
Getting started
To get started with Gravitino, please see Getting started for the details.
- Getting started locally: a quick guide to start and use Gravitino locally.
- Running on Amazon Web Services: a quick guide to start and use Gravitino on AWS.
- Running on Google Cloud Platform: a quick guide to start and use Gravitino on GCP.
How to use Gravitino
Gravitino provides two SDKs to manage metadata from different catalogs in a unified way, one is REST API, another is Java SDK. You can use either to manage metadata, please see Manage metadata using Gravitino for the details.
Also, you can find the complete REST API definition in Gravitino Open API, Java SDK definition in Gravitino Javadoc.
Gravitino provides a web UI to manage the metadata, you can visit the web UI in the browser via
the URL address http://<ip-address>:8090
. Please see Gravitino web UI for the details.
Gravitino currently supports the following catalogs:
Gravitino also provides an Iceberg REST catalog service for Iceberg table format, please see the Iceberg REST catalog service for the details.
Gravitino playground
To experience Gravitino with other components easily, Gravitino provides a playground to run. It integrates Apache Hadoop, Apache Hive, Trino, MySQL, PostgreSQL, and Gravitino together as a complete environment. To experience the whole features, please also see Getting started and How to use the Gravitino playground to learn how to use the playground.
- Install Gravitino playground on AWS or GCP: a quick guide to start and use Gravitino playground on AWS or GCP.
- Install Gravitino playground locally: a quick guide to start and use Gravitino playground locally.
- How to use the Gravitino playground: provides an example of how to use Gravitino and other components together.
Where to go from here
Catalogs
Gravitino supports different catalogs to manage the metadata in different sources. Please see:
- Iceberg catalog: a complete guide to using Gravitino to manage Apache Iceberg data.
- Iceberg REST catalog service: a complete guide to use Gravitino as an Apache Iceberg REST catalog service.
- Hive catalog: a complete guide to using Gravitino to manage Apache Hive data.
- MySQL catalog: a complete guide to using Gravitino to manage MySQL data.
- PostgreSQL catalog: a complete guide to using Gravitino to manage PostgreSQL data.
Trino connector
Gravitino provides a Trino connector to connect to Gravitino to manage the metadata in a unified way. to use the Trino connector, please see:
- How to use Gravitino Trino connector: a complete guide to use Gravitino Trino connector.
Server administration
Gravitino provides several ways to configure and manage the Gravitino server. Please see:
- Security: provides security configurations for Gravitino, including HTTPS and OAuth2 configurations.
- Gravitino metrics: provides metrics configurations and detailed metrics list of the Gravitino server.
Programming guides
- Gravitino Open API: provides the complete Open API definition of Gravitino.
- Gravitino Javadoc: provides the Javadoc for the Gravitino API.
Development guides
- How to build Gravitino: a complete guide to build Gravitino from source.
- How to test Gravitino: a complete guide to running Gravitino unit tests and integration tests.
- How to sign and verify Gravitino releases: a guide to sign and verify a Gravitino release.
- Publish Docker images: a guide to publish Gravitino Docker images, also list the change logs of Gravitino CI Docker images and release images.