Skip to main content
BRILLIQS

Apache Atlas

An open source metadata and governance framework built for Hadoop platforms, with a type system you extend.

Apache Atlas is an open source framework for metadata management and governance. It records what data assets exist, captures lineage between them and allows classifications to be attached. Its type system can be extended, so the kinds of asset it tracks are not limited to those the project defined.

What Atlas is for

Apache Atlas records metadata about data assets and governs them: what exists, how assets relate, and what markings apply to them.

It comes from the Hadoop ecosystem, and its integrations reflect that origin. Understanding where it fits best starts from knowing that.

Lineage captured rather than documented

The capability that most justifies Atlas is how lineage arrives.

Lineage can be documented. Somebody writes down that this table is built from those two. That description is accurate on the day it is written and progressively less so afterwards, because pipelines change and documentation does not.

Atlas takes a different route. Hooks in the processing engines report activity as it happens. When a job runs, the engine says what it read and what it wrote.

The lineage that results describes what actually ran. It does not go stale, because it is regenerated by execution rather than maintained by hand.

Classifications

Assets can carry classifications: labels marking them as containing personal data, as restricted, as belonging to a particular domain.

On its own that is documentation. Two things make it more than that.

Propagation along lineage

Classifications can follow lineage.

This addresses a real gap in data governance. A source table is correctly marked as containing personal data. A pipeline derives an aggregate from it, then another table from that. Those derived tables contain information originating in personal data, and nobody marked them, because marking happens at the source.

Propagation means the derived assets inherit the markings. Sensitivity is not lost through transformation, which is exactly where it is usually lost.

Classification driving access control

The second is that classifications can be consumed by an authorisation system.

A policy written against a classification rather than against a list of tables covers every asset carrying that label, including ones created after the policy was written.

That is the difference between governance that scales and governance that requires somebody to remember to update a list.

The type system

What Atlas can record is defined by types, and the type system is extensible.

That matters because every platform has components nobody anticipated. Rather than those being invisible to the catalogue, a type is defined for them and they appear alongside everything else.

Notifications

Metadata changes are published as messages, so other systems can react. That is what allows an authorisation system to respond to a new classification without polling.

Who uses Atlas

Atlas is used on Hadoop based data platforms, particularly in regulated industries where recording lineage and tracking sensitive data are requirements rather than conveniences.

Points to consider

Its integrations are strongest in the ecosystem it came from. Outside that, how useful it is depends on what integrations exist for your systems, and that is worth checking before adoption.

It is also a system to operate, with its own dependencies to deploy and maintain.

Lineage depends on the hooks being installed and configured. A processing engine without one is invisible, so lineage that appears complete may have gaps, and knowing where those are matters.

Getting started

The documentation covers the type system, installing hooks for supported engines, classifications and their propagation, and the interfaces available. Enabling a hook on one engine and watching lineage appear as jobs run demonstrates the central mechanism.

Key features of Apache Atlas

Capabilities described in the official documentation.

An extensible type system

The kinds of asset tracked are defined as types, and new types can be added for systems the project does not cover.

Lineage captured from engines

Hooks in processing engines report what read and wrote what, so lineage is recorded as jobs run.

Classifications on assets

Labels such as sensitivity markings attach to assets and can propagate along lineage.

Notifications on change

Metadata changes are published as messages so other systems can react to them.

Advantages of Apache Atlas

Factual advantages that follow from the features above.

Lineage arrives without being written

Because engines report their own activity, lineage reflects what actually ran rather than what was documented.

Classification can drive access control

Labels attached to assets can be used by an authorisation system, so policy follows the classification.

Sensitivity follows the data

Propagating classifications along lineage means a derived table inherits the markings of its sources.

It can describe your own systems

Extending the type system means assets specific to your platform are tracked alongside the standard ones.

Common use cases for Apache Atlas

Situations the official documentation describes this tool as being used for.

Big data platforms

Recording lineage across a Hadoop platform

Hooks in processing engines report what each job read and wrote, building lineage automatically.

Financial services

Marking sensitive data

Classifications identify assets holding personal or restricted data so policy can be applied to them.

Regulated industries

Propagating markings downstream

A derived table inherits classifications from its sources, so sensitivity is not lost through transformation.

Platform engineering

Tracking a platform specific asset type

A new type describes something the project does not cover so it appears in the catalogue alongside the rest.

Official website

Everything on this page is based on the official documentation for Apache Atlas. You can read the source here.

Apache Atlas official documentation

Frequently asked questions about Apache Atlas

Answers taken from the official documentation for this tool.

Through hooks in the processing engines. When a job runs, the engine reports what it read and what it wrote, so lineage reflects actual execution rather than a description somebody maintained separately.

Classifications attached to assets can be consumed by an authorisation system, so a policy can be written against a label rather than against individual tables. That means new tables carrying the label are covered without the policy being edited.

It defines what kinds of asset can be recorded and what attributes each has. Because it is extensible, an organisation can describe systems the project does not know about rather than being limited to the built in types.

It originated in that ecosystem and its integrations reflect it. The type system and interfaces are general, and how much value it offers outside a Hadoop platform depends on what integrations exist for your systems.