metacat

  • Owner: Netflix/metacat
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Metacat

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

Main metrics

Overview
Name With OwnerNetflix/metacat
Primary LanguageJava
Program languageJava (Language Count: 4)
Platform
License:Apache License 2.0
所有者活动
Created At2016-03-19 20:06:34
Pushed At2025-05-12 17:25:48
Last Commit At2025-05-12 10:25:02
Release Count301
Last Release Name1.3.2-rc.27 (Posted on )
First Release Namev0.1.0 (Posted on )
用户参与
Stargazers Count1.7k
Watchers Count399
Fork Count289
Commits Count603
Has Issues Enabled
Issues Count58
Issue Open Count37
Pull Requests Count515
Pull Requests Open Count21
Pull Requests Close Count55
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private