Skip to main content
Guide: Snowflake Egress

Customer Snowflake Egress Implementation Guide

Patrick Pohler avatar
Written by Patrick Pohler
Updated this week

Summary

Cherre Egress for Snowflake allows Cherre customers to access most of their transformed data in their own Snowflake Data warehouse allowing Cherre to be incorporated into larger data strategies and integrate with additional data sets within the organization.

The implementation of the egress is very straightforward and leverages Snowflake’s native data sharing capabilities. The basic steps of the implementation are:

  1. Send Snowflake Account Identifier & list of desired tables

  2. Create Database from Cherre Egress for Snowflake Data Share

  3. Identify or create role to apply Cherre Egress for Snowflake Data Share permissions to

  4. Import Cherre Egress for Snowflake Data Share permissions to desired role

  5. Execute Cherre Egress for Snowflake Readiness Checks

Once these steps are completed, clients will have direct access to their Cherre data in Snowflake.

Introduction to Cherre Egress for Snowflake

The Cherre Egress for Snowflake uses Snowflake Data Sharing to deliver a read-only copy of select Cherre data, including custom ingest data and Data Partner specific, into a client hosted Snowflake environment via the Cherre Analytics API.

The Snowflake Database Share will be initially seeded with data that has already been ingested by Cherre to date, and then updated incrementally based on the client’s Egress configuration. Generally this is daily. Access to the shared data is controlled by client managed Snowflake Database Roles.

Implementation Checklist

  1. Send Snowflake Region & Account Identifier as well as a list of desired tables/schema to Cherre

  2. Create Database from Cherre Egress for Snowflake Data Share

  3. Identify or create a role to apply Cherre Egress for Snowflake Data Share permissions

  4. Import Cherre Egress for Snowflake Data Share permissions

  5. Run Cherre Egress for Snowflake Readiness Checks

Implementation Steps

Send Snowflake Account Identifier & List of Desired Tables to Cherre

Before starting the implementation of a Cherre Egress for Snowflake, there is some information Cherre needs before it can start the configuration:

Once Cherre has these details, the implementation of a Cherre Egress for Snowflake can begin.

Create Database From Cherre Database Share

Once Cherre has successfully deployed and configured Cherre Egress for Snowflake for the client, the first step is to create a database from the newly created Cherre Share. Clients can find details on this in the Snowflake documentation under “Creating a Database from a Share”.

Here is a sample SQL command to create the database:

CREATE DATABASE <name> FROM SHARE <Cherre provided share name>;

Identify or Create Role to Apply Cherre Egress for Snowflake Data Share Permissions

Clients can either import permissions to the Cherre Egress for Snowflake Database Share to an existing role or create a new one. The choice is up to the client. It all depends on how the client wants to apply permissions to their data. The permissions on the shared data are provided by Cherre and can be applied to one or more roles.

Import Cherre Egress for Snowflake Data Share Permissions

To import the Cherre Egress for Snowflake Share permissions and apply them to a role, use the following command:

GRANT IMPORTED PRIVILEGES ON DATABASE <database_name> TO ROLE <role_name>;

Repeat this step for each role the permissions should be applied to.

Once this is complete the Cherre Snowflake for Egress is live!

Monitoring Cherre Egress for Snowflake

The volume and frequency of the actual data being egressed is highly dependent on the dataset. For example, data being ingested daily will have daily egress records whereas data being ingested monthly will only produce records monthly. Clients should consider this when applying data quality monitors to their Cherre Egress for Snowflake data. Most data reliability tools can dynamically support this.

Did this answer your question?