Skip to content

Snowflake

Tarik Dwiek — Head of Technology Alliances at Snowflake

Continual is enabling organizations to easily build, deploy and maintain continually improving predictive models directly on top of Snowflake. As part of our partnership, we’re excited to help bring these benefits to the Snowflake community and to accelerate end-to-end machine learning workflows on top of Snowflake with Snowpark.

Overview

Continual works natively with the Snowflake Data Cloud. By connecting Continual to Snowflake, you can leverage all your data in Snowflake and ensure consistent governance and security. Continual continually maintain predictions directly in Snowflake for downstream consumption by all your existing tools.

Requirements

  • A Snowflake account (or sign up for a free trial.
  • Permission to create users, roles, data warehouses and databases in Snowflake.

Setup

To get started with Continual and Snowflake, take the following steps.

Step 1: Run setup script in Snowflake

The first step is to create a user role, role, user, warehouse and database for use by Continual. You can do so by running the following script in the Snowflake console.

Important - Choose a Secure Password

Make sure to replace the user_password variable with the script below secure alternative of your choice.

begin;

-- ACTION NEEDED: choose a password for CONTINUAL_USER.
set user_password = 'REPLACE ME WITH A SECURE PASSWORD';
set role_name = 'CONTINUAL_ROLE';
set user_name = 'CONTINUAL_USER';
set warehouse_name = 'CONTINUAL_WAREHOUSE';
set database_name = 'CONTINUAL';

-- change role to securityadmin for user / role steps
use role securityadmin;

-- create role for Continual
create role if not exists identifier($role_name);
grant role identifier($role_name) to role SYSADMIN;

-- create a user for Continual
create user if not exists identifier($user_name)
password = $user_password
default_role = $role_name
default_warehouse = $warehouse_name;

grant role identifier($role_name) to user identifier($user_name);

-- change role to sysadmin for warehouse / database steps
use role sysadmin;

-- create a warehouse for Continual
create warehouse if not exists identifier($warehouse_name)
warehouse_size = medium
warehouse_type = standard
auto_suspend = 10
auto_resume = true
initially_suspended = true;

-- create database for Continual
create database if not exists identifier($database_name);

-- grant Continual role access to warehouse
grant USAGE
on warehouse identifier($warehouse_name)
to role identifier($role_name);

-- grant Continual access to database
grant CREATE SCHEMA, MONITOR, USAGE
on database identifier($database_name)
to role identifier($role_name);

commit;

Alternative Authentication Methods

If you would like to use alternative authentication methods with Snowflake, please contact support@continual.ai about our Enterprise plan.

Step 2: Grant Access to Other Resources to Continual

Any databases/schemas/tables that you plan to use as source tables for feature sets or models in Continual need to be accessible by the continual user created above. Please grant USAGE permission on any such resources.

(Optional) Step 3: Configure Snowflake Account to Allow Continual Access

If your snowflake account restricts access via IP address, you'll need to configure your network policy to allow access from Continual. Please contact us to obtain a stable IP for use.

Step 4: Create a Snowflake backed project

During project creation, select Snowflake as your feature store. Use the Snowflake configuration (user, database, warehouse) you created in Step 1.

Snowpark support

Snowpark support is under development. For early access, contact support@continual.ai

Back to top