Snowflake

Send data from Snowflake to your destinations through Freshpaint

What you'll need

  • A Snowflake account

  • A user for Freshpaint to connect to

  • A role that defines the permissions that Freshpaint can have in Snowflake

  • The names of the database, warehouse, and schema to use

How this works

With the Snowflake source, Freshpaint can sync data from any and all of your tables in Snowflake into our SQL Engine. You'll be able to access this data as SQL tables, in the same way you would inside Snowflake.

With that data, you can:

  • Send to your destinations on a schedule with our Scheduled Events, keeping them in sync with updates in Snowflake

  • Send data as properties of your tracked events with SQL Transformations

  • Query the data with our SQL Editor to see what you have and test that your source is working

  • Combine your Snowflake data with that of any other source

Connect to Snowflake

To connect, first you'll need to choose the Snowflake source.

Snowflake requires that you log into your account with a set of information. Specifically, you'll need the account locator (found under Admin > Accounts); user; password; a role you'll use; the compute warehouse; the database; and finally a schema to access.

Your database and schema are usually uppercased in Snowflake. Unless you know for certain otherwise, you should write those in uppercase in your connection settings.

Choose the tables you want to connect. You'll be able to pull in any table that lives in Snowflake.

You can configure the schedule for any frequency you want to sync with our SQL Engine. Once you have your tables configured, you can trigger a new sync to have access to the data in your tables. Your connection should now look something like this:

Working with Snowflake data

Snowflake is a general data warehouse; the only limit to what data you can pull from your warehouse is what access you provide to the role. Below is a simple example of the SQL you can run in the SQL Editor to see the data in any of your tables.

Use Cases

Reverse ETL to analytics tools

One common way to use Snowflake is as a data warehouse for business intelligence tools like Looker and Tableau. Snowflake works really well for that—but maybe your product analytics team is more at home in a tool like Mixpanel, and there are events in the warehouse that they really wish they could join with their data sets.

With Freshpaint's Point-to-Point integrations, this is easy to do with a little SQL. Suppose you had something like this:

SELECT
    *,
    id AS insert_id,
    email AS user_id,
    created_at AS time
FROM
    snowflake_new_accounts

Now you can create an event and send this data to Mixpanel, just like you would any other event.

Point-to-Point integrations need you to define the insert_id and user_id for the data to be accepted by your destination. Remember this when you build your own queries! Because you selected *, you'll see all of your data as properties named for their original columns as well.

Warehouse-to-warehouse data transfer

You might find yourself in need of bringing data over from one warehouse to another. With your Snowflake source, you can tap into all of the warehouses you've connected with Freshpaint.

  • Write a query you'll use to capture this data in the SQL Editor, then create an event.

  • Connect a warehouse, or even a set of warehouses, to your Freshpaint account.

  • Finally, you need to click into the event you've created, and turn on the warehouse(s) for that event.

Notes

  • Snowflake gives you a lot of options to manage access to data. For the best experience, you should create a user for Freshpaint to connect with, and grant a role to that user for only the tables that you want to manage with Freshpaint. Freshpaint only needs SELECT privileges, because it only wants to read your data—nothing else.

  • Additionally, you must allow list the following Freshpaint IP address: 35.162.70.108

Last updated