Skip to content
Learn › Get data in › Connectors: open the docs menu

Connect Snowflake to Mammoth and import tables or SQL

The Snowflake connector imports a table from any schema, or the result of your own SQL query, from your Snowflake data warehouse into Mammoth as a dataset. Open it from Data Library > New dataset > Connectors and search for Snowflake. Project Admins create the connection; Project Editors can start datasets from a connection the project already has. Which connectors you can add depends on your plan.

What you can bring in from Snowflake

  • Any table the role can read, grouped by schema.
  • The result of your own SELECT query.

AI query writing (Write SQL) isn't available for Snowflake. The dataset can refresh daily or only when you ask.

Before you connect Snowflake

You need:

  • A Snowflake account with a warehouse and the database you want to query.
  • A Snowflake user and role with USAGE on the warehouse and database, and SELECT on the schemas and tables you want.
  • Your Snowflake Host URL, Username, Password, Database, Warehouse, Account and Role Name. All are required.
  • Mammoth's IP address added to your Snowflake network policy, if your account uses one. See Allow Mammoth through your firewall.

Grant the minimum Snowflake permissions

GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE MAMMOTH_ROLE;
GRANT USAGE ON DATABASE ANALYTICS_DB TO ROLE MAMMOTH_ROLE;
GRANT USAGE ON ALL SCHEMAS IN DATABASE ANALYTICS_DB TO ROLE MAMMOTH_ROLE;
GRANT SELECT ON ALL TABLES IN DATABASE ANALYTICS_DB TO ROLE MAMMOTH_ROLE;

Find your Snowflake account identifier

Your account identifier usually has the form organization-account, for example acme-analytics. Your account URL is the identifier followed by .snowflakecomputing.com, for example acme-analytics.snowflakecomputing.com.

Connect Snowflake to Mammoth

These steps follow the shared flow in Connect a database or app.

  1. Go to the Data Library and click New dataset.
  2. Choose Connectors.
  3. Search for Snowflake and click its tile. The connection form opens.
  4. Fill in the fields below.
  5. Click Connect. Mammoth checks the details and saves the connection. If the check fails, the error appears at the bottom of the form.

Snowflake - New Connection form with Host URL, Username, Password, Database, Warehouse, Account and Role Name

FieldWhat to enterExample
Host URLYour Snowflake account URLmyorg-myaccount.snowflakecomputing.com
UsernameSnowflake usermammoth_reader
PasswordPassword for the Snowflake user
DatabaseName of the Snowflake databaseANALYTICS_DB
WarehouseVirtual warehouse that runs the queriesCOMPUTE_WH
AccountYour Snowflake account identifiermyorg-myaccount
Role NameRole to use; it must have table accessMAMMOTH_ROLE

Once connected, the connector workspace opens on your tables.

Query a Snowflake table in the SQL view

  1. In Tables, click a table. Mammoth opens its rows with the SELECT * query that read them, shown above the rows.
  2. To change the query, click Edit SQL, edit it, and click Run (or press Ctrl+Enter).
  3. To keep only some columns, tick them in the table header.
SELECT order_id, customer_id, amount, order_date
FROM ANALYTICS_DB.SALES.ORDERS
WHERE order_date >= DATEADD(day, -90, CURRENT_DATE())
  AND status = 'COMPLETED'

Connect a database or app covers the full SQL view.

Save Snowflake data as a dataset

  1. Click Save as dataset.
  2. Enter a Name and choose a folder under Save in.
  3. Under Keep it up to date, choose Daily at 06:00 or Only when I ask.
  4. Under On each refresh, click Change and pick what a refresh does (see the table below).
  5. Click Save as dataset. When the dataset is ready, click Open dataset.
On each refreshWhat it does
Replace all rowsMatches the source after every refresh. This is the default.
Add only new rowsKeeps what you have and adds rows above the last value of a Key column
Keep only the newest rowsEmpties the dataset, then brings in rows since the last refresh (needs a Key column)
Add every row againShown when the query has no column that can serve as a key column, so each refresh adds a full copy

Refresh Snowflake data on a schedule

Choosing Daily at 06:00 creates a Dataset Refresh automation for the dataset. To run it on another schedule, edit that automation. For a dataset saved with Only when I ask, create a Dataset Refresh automation yourself.

After you save, you can change what a refresh does in the dataset's Update method setting. It offers Replace all data, Add new rows only and Keep only the newest rows.

Allow Mammoth in your Snowflake network policy

If your Snowflake account has a network policy that restricts IP access, add Mammoth's IP address to that policy's allowed IP list in Snowflake. The connection form shows the address to allow.

Troubleshoot Snowflake authentication

SymptomLikely causeFix
Authentication failsThe Account value is wrongEnter your account identifier exactly, without the .snowflakecomputing.com suffix
Authentication fails or tables are missingThe role lacks accessCheck the role has access to the warehouse, database and schemas
Connection is refusedA network policy blocks MammothAdd Mammoth's IP address to the policy
Was this page helpful?

Something wrong? support@mammoth.io