Elementary

elementary (elementary variant)

Elementary is an open-source data observability solution for data & analytics engineers.

The elementary utility enables you to automate test report generation and anomaly detection using Elementary

  • This is a work in progress; any feedback on issues in the extension repo is appreciated!
  • When upgrading Elementary, ensure you update the dbt_packages entry version as well

EDK Based Plugin

This utility is based on the Meltano Extension Developer Kit (EDK) which is the preferred way to build and add non-Singer plugins to Meltano Hub. For more information about the EDK, please read this section of the Meltano docs. If you have any feedback or suggestions, add them to the EDK repo.

Getting Started

Prerequisites

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration

  1. Add the elementary utility to your project using
    meltano add
    :
  2. meltano add utility elementary
  3. Configure the elementary settings using
    meltano config
    :
  4. meltano config elementary set --interactive

Next steps

This a dbt extension, and therefore requires knowledge and understanding of dbt before adding to your project. Please install one of the available dbt extensions from Meltano Hub before proceeding with the rest of the setup.

  1. Specify your dbt adapter in the pip_url and in your profiles directory

Example, in the case of BigQuery:

pip_url: elementary-data[bigquery] git+https://github.com/potloc/elementary-ext.git
config:
  profiles_dir: ${MELTANO_PROJECT_ROOT}/transform/profiles/
  1. Run dbt deps

This will populate you dbt_packages folder with pertinent dbt models

It is important to note that you will need to update your dbt packages file when you update your your elementary pip url. These 2 different packages Should have the same version

  1. Follow elementary setup tutorial

Tutorial found here: https://docs.elementary-data.com/quickstart

  1. Invoke Elementary

Run meltano invoke elementary:monitor-report and see your brand new report!

If you run into any issues, learn how to get help.

Capabilities

This plugin currently has no capabilities defined. If you know the capabilities required by this plugin, please contribute!

Settings

The elementary settings that are known to Meltano are documented below. To quickly find the setting you're looking for, click on any setting name from the list:

You can also list these settings using

meltano config
with the list subcommand:

meltano config elementary list

You can override these settings or specify additional ones in your meltano.yml by adding the settings key.

Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.

File Path (file-path)

  • Environment variable: ELEMENTARY_FILE-PATH

Location of the file generated by the monitor-report commands


Configure this setting directly using the following Meltano command:

meltano config elementary set file-path [value]

Profiles Directory (profiles-dir)

  • Environment variable: ELEMENTARY_PROFILES-DIR

Profiles directory path for your dbt project


Configure this setting directly using the following Meltano command:

meltano config elementary set profiles-dir [value]

Project Directory (project_dir)

  • Environment variable: ELEMENTARY_PROJECT_DIR
  • Default Value: ${MELTANO_PROJECT_ROOT}/transform/

Project directory path for your dbt project


Configure this setting directly using the following Meltano command:

meltano config elementary set project_dir [value]

Slack Channel Name (slack-channel-name)

  • Environment variable: ELEMENTARY_SLACK-CHANNEL-NAME
  • Default Value: elementary-notifs

If necessary, slack channel name in which to send notifications to


Configure this setting directly using the following Meltano command:

meltano config elementary set slack-channel-name [value]

Slack Token (slack-token)

  • Environment variable: ELEMENTARY_SLACK-TOKEN

If necessary, slack token for sending notifications to slack


Configure this setting directly using the following Meltano command:

meltano config elementary set slack-token [value]

Commands

The elementary utility supports the following commands that can be used with
meltano invoke
:

describe

  • Equivalent to: describe

meltano invoke elementary:describe [args...]

initialize

  • Equivalent to: initialize

Allows you to initialize your Elementary extension.

meltano invoke elementary:initialize [args...]

monitor-report

  • Equivalent to: monitor-report

Allows you to generate a report and sent to to your file path

meltano invoke elementary:monitor-report [args...]

monitor-send-report

  • Equivalent to: monitor-send-report

Allows you to generate a report and send it through slack

meltano invoke elementary:monitor-send-report [args...]

Something missing?

This page is generated from a YAML file that you can contribute changes to.

Edit it on GitHub!

Looking for help?

If you're having trouble getting the elementary utility to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the
#plugins-general
channel.

Install

meltano add utility elementary

Maintenance Status

  • Maintenance Status

Repo

https://github.com/elementary-data/elementary
  • Stars
  • Forks
  • Last Commit Date
  • Open Issues
  • Open PRs
  • Contributors
  • License

EDK Extension Repo

https://github.com/potloc/elementary-ext

Maintainer

  • Elementary Data

Meltano Stats

  • Total Executions (Last 3 Months)
  • Projects (Last 3 Months)

Keywords

  • dbttesting