Illustration Image

Cassandra.Link

The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

12/14/2020

Reading time:1 min

Netflix/metacat

by Netflix

IntroductionMetacat 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 endis really data about the data. So the primary purpose of Metacat is to give a place to describe the data so that wecould do more useful things with it.Metacat focusses on solving these three problems:Federate views of metadata systems.Allow arbitrary metadata storage about data sets.Metadata discoveryDocumentationTODOReleasesReleasesBuildsMetacat builds are run on Travis CI here.Getting Startedgit clone git@github.com:Netflix/metacat.gitcd metacat./gradlew clean buildOnce the build is completed, the metacat WAR file is generated under metacat-war/build/libs directory. Metacat needstwo basic configurations:metacat.plugin.config.location: Path to the directory containing the catalog configuration. Please look atcatalog samples used for functional testing.metacat.usermetadata.config.location: Path to the configuration file containing the connection properties to storeuser metadata. Please look at this sample.Running LocallyTake the build WAR in metacat-war/build/libs and deploy it to an existing Tomcat as ROOT.war.The REST API can be accessed @ http://localhost:8080/mds/v1/catalogSwagger API documentation can be accessed @ http://localhost:8080/swagger-ui.htmlDocker Compose ExamplePre-requisite: Docker compose is installedTo 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 Cassandracontainer and a PostgreSQL container../gradlew metacatPortsmetacatPorts - 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 @ http://localhost:<MAPPED_PORT>/mds/v1/catalogSwagger API documentation can be accessed @ http://localhost:<MAPPED_PORT>/swagger-ui.htmlTo stop the docker compose cluster:./gradlew stopMetacatCluster

Illustration Image

Download License Issues NetflixOSS Lifecycle

Introduction

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.

Metacat focusses on solving these three problems:

  • Federate views of metadata systems.
  • Allow arbitrary metadata storage about data sets.
  • Metadata discovery

Documentation

TODO

Releases

Releases

Builds

Metacat builds are run on Travis CI here. Build Status

Getting Started

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.

The REST API can be accessed @ http://localhost:8080/mds/v1/catalog

Swagger API documentation can be accessed @ http://localhost:8080/swagger-ui.html

Docker Compose Example

Pre-requisite: Docker compose is installed

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 @ http://localhost:<MAPPED_PORT>/mds/v1/catalog

Swagger API documentation can be accessed @ http://localhost:<MAPPED_PORT>/swagger-ui.html

To stop the docker compose cluster:

./gradlew stopMetacatCluster

Related Articles

mongo
elasticsearch
open.source

Who's Winning in Open Source Data Tech

John Doe

3/11/2022

Checkout Planet Cassandra

Claim Your Free Planet Cassandra Contributor T-shirt!

Make your contribution and score a FREE Planet Cassandra Contributor T-Shirt! 
We value our incredible Cassandra community, and we want to express our gratitude by sending an exclusive Planet Cassandra Contributor T-Shirt you can wear with pride.

Join Our Newsletter!

Sign up below to receive email updates and see what's going on with our company

Explore Related Topics

AllKafkaSparkScyllaSStableKubernetesApiGithubGraphQl

Explore Further

aws.rds