You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Metacat is a unified metadata exploration API service. You can explore Hive, RDS, Teradata, Redshift, S3 and Cassandra.
Metacat provides you information about what data you have, where it resides and how to process it. Metadata in the end
is really data about the data. So the primary purpose of Metacat is to give a place to describe the data so that we
could do more useful things with it.
git clone git@github.com:Netflix/metacat.git
cd metacat
./gradlew clean build
Once the build is completed, the metacat WAR file is generated under metacat-war/build/libs directory. Metacat needs
two basic configurations:
metacat.plugin.config.location: Path to the directory containing the catalog configuration. Please look at
catalog samples used for functional testing.
metacat.usermetadata.config.location: Path to the configuration file containing the connection properties to store
user metadata. Please look at this sample.
Running Locally
Take the build WAR in metacat-war/build/libs and deploy it to an existing Tomcat as ROOT.war.
To start a self contained Metacat environment with some sample catalogs run the command below.
This will start a docker compose cluster containing a Metacat container, a Hive Metastore Container, a Cassandra
container and a PostgreSQL container.
./gradlew metacatPorts
metacatPorts - Prints out what exposed ports are mapped to the internal container ports.
Look for the mapped port (MAPPED_PORT) to port 8080.
REST API can be accessed @ https://localhost:<MAPPED_PORT>/mds/v1/catalog
Swagger API documentation can be accessed @ https://localhost:<MAPPED_PORT>/swagger-ui/index.html