parthp2107 13be70e416
updated documentation (#508)
* updated documentation

* addressing pyline findings

* addressing pyline findings

* doc update

Co-authored-by: parthp2107 <parth@getcollate.io>
2021-09-18 20:13:31 -07:00

2.6 KiB

description
This guide will help install Snowflake Usage connector and run manually

Snowflake Usage

{% hint style="info" %} Prerequisites

OpenMetadata is built using Java, DropWizard, Jetty, and MySQL.

  1. Python 3.7 or above {% endhint %}

Install from PyPI or Source

{% tabs %} {% tab title="Install Using PyPI" %}

pip install 'openmetadata-ingestion[snowflake-usage]'

{% endtab %} {% endtabs %}

Run Manually

metadata ingest -c ./examples/workflows/snowflake_usage.json

Configuration

{% code title="snowflake_usage.json" %}

{
  "source": {
    "type": "snowflake-usage",
    "config": {
      "host_port": "account.region.service.snowflakecomputing.com",
      "username": "username",
      "password": "strong_password",
      "database": "SNOWFLAKE_SAMPLE_DATA",
      "account": "account_name",
      "service_name": "snowflake",
      "duration": 2
    }
  },

{% endcode %}

  1. username - pass the Snowflake username.
  2. password - the password for the Snowflake username.
  3. service_name - Service Name for this Snowflake cluster. If you added the Snowflake cluster through OpenMetadata UI, make sure the service name matches the same.
  4. filter_pattern - It contains includes, excludes options to choose which pattern of datasets you want to ingest into OpenMetadata.
  5. database - Database name from where data is to be fetched.

Publish to OpenMetadata

Below is the configuration to publish Snowflake Usage data into the OpenMetadata service.

Add Optionally query-parser processor, table-usage stage andmetadata-usage bulk_sink along with metadata-server config

{% code title="snowflake_usage.json" %}

{
  "source": {
    "type": "snowflake-usage",
    "config": {
      "host_port": "account.region.service.snowflakecomputing.com",
      "username": "username",
      "password": "strong_password",
      "database": "SNOWFLAKE_SAMPLE_DATA",
      "account": "account_name",
      "service_name": "snowflake",
      "duration": 2
    }
  },
  "processor": {
    "type": "query-parser",
    "config": {
      "filter": ""
    }
  },
  "stage": {
    "type": "table-usage",
    "config": {
      "filename": "/tmp/snowflake_usage"
    }
  },
  "bulk_sink": {
    "type": "metadata-usage",
    "config": {
      "filename": "/tmp/snowflake_usage"
    }
  },
  "metadata_server": {
    "type": "metadata-server",
    "config": {
      "api_endpoint": "http://localhost:8585/api",
      "auth_provider_type": "no-auth"
    }
  },
  "cron": {
    "minute": "*/5",
    "hour": null,
    "day": null,
    "month": null,
    "day_of_week": null
  }
}

{% endcode %}