Snowflake Data Plane

Overview

🚧

Submit an environment request before continuing

Before creating a Databricks data plane, submit an environment request indicating which data plane you would like enabled. Chat with us through Intercom within Ascend, or contact support by emailing [email protected]. Once your data plane is enabled, you'll receive confirmation your data plane is ready for set up.

In order to set up an Ascend Snowflake environment the following is required:

  • A new warehouse
  • A role for Ascend
  • Specific authorizations within that warehouse
  • Rights to create databases in the Snowflake account
  • A user account specific to Ascend

Once these are completed, you can connect to your Snowflake Data Plane within Ascend.

Step 1: Create a new warehouse in Snowflake

When creating a new warehouse in Snowflake, follow the steps within Snowflake.

📘

The size of your warehouse depends on the workload. As it is relatively simple to change the size of the warehouse after creation, some customers choose to start with smaller warehouses by default. The sample below illustrates an x-small warehouse, but customers should size warehouses according to expected data volume/processing.

Use the following SQL parameters:

--create the ascend specific warehouse
USE ROLE SYSADMIN;
CREATE WAREHOUSE ASCEND_WAREHOUSE warehouse_size=xsmall auto_suspend=60 auto_resume=true;

Step 2: Create an authorized role for Ascend for the warehouse

Ascend requires an assigned role with OPERATE and USAGE authorization for the warehouse created in Step 1.

When creating a new role, the following code sample can help with implementing these requirements:

--create the ascend specific role
USE ROLE SECURITYADMIN;
CREATE ROLE ASCEND_DB_ROLE;
GRANT ROLE ASCEND_DB_ROLE TO ROLE SYSADMIN;
GRANT OPERATE, USAGE ON WAREHOUSE ASCEND_WAREHOUSE TO ROLE ASCEND_DB_ROLE;

Step 3: Create an Ascend database user

Create a new user called “ASCENDUSER”, filling in the password with a random value and the email with an administrator email (whoever is responsible for managing the user):

USE ROLE SECURITYADMIN;
CREATE USER ASCENDUSER PASSWORD='***' EMAIL='<an administrator email address>' default_role='ASCEND_DB_ROLE' default_warehouse='ASCEND_WAREHOUSE';
GRANT ROLE ASCEND_DB_ROLE TO USER ASCENDUSER;

You'll also need to grant the user/role access to create databases within the Snowflake account.

--give ascend role ability to create database
USE ROLE SYSADMIN;
GRANT CREATE DATABASE ON ACCOUNT TO ROLE ASCEND_DB_ROLE;

Step 4: Create a Database

By default, Ascend will create one database per Data Service within Snowflake after setup of the data plane is complete. However, you need to create an initial database in order to establish a Snowflake connection in Ascend when setting up a data plane:

CREATE DATABASE ASCEND_DB;

Step 5: Registering a Snowflake Data plane in Ascend

Create a Snowflake Connection

  • Once you login, go into Admin Settings (top left) -> Connection Management.
  • Create a new Snowflake connection. The connection must have an ACCESS TYPE of Read–Write and allow access from the Data Services you want to use the connection for. You should have at least one Data Service present. Use the database name created in Step 4 above when setting up the connection.

Configure the Data Plane to use the Snowflake Connection

  • Go into the settings of the Data Service of interest, and click Data Plane Configuration.
  • Pick the connection you have just created from the dropdown. You may leave the rest of the fields blank unless you wish to override fields from your connection.

🚧

Read - Write access required

Note: If access type is not set to Read - Write while creating the connection, or the Data Service of interest isn't allowed access to the connection, it will not show up in the dropdown in Data Plane Configuration.


Did this page help you?