LogoLogo
HomeUser GuidesAPI Reference
  • ๐Ÿ‘Welcome to Whaly ๐Ÿณ
  • Team
    • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆWhat is a team?
    • ๐Ÿ›ก๏ธSingle Sign On
    • ๐ŸฅทImpersonate
  • Organisation
    • ๐ŸซWhat is an organisation?
    • ๐Ÿ“คUpload your Organisation logo
    • ๐Ÿ”‘Manage Access to your organisation
    • โ“Understanding Licences
    • ๐Ÿ‘ฎUnderstanding User Roles
  • User Management
    • ๐Ÿท๏ธUser Attributes
    • ๐Ÿ‘ญUser Groups
    • ๐Ÿค–Service Accounts
  • Workspace
    • โœ๏ธWorkspace
    • ๐Ÿ“‚Report Folders
    • โœจSharing & Collaboration
      • Share a report to the Web
    • ๐Ÿ“—Catalog
    • โš™๏ธSettings
  • Warehouse
    • ๐ŸฆConnect your Warehouse
    • โš”๏ธAmazon Athena
      • Connect your Athena
    • ๐ŸฎAmazon Redshift
      • Connect your Redshift
    • ๐ŸงฑDatabricks
      • Connect your Databricks
    • ๐Ÿ”ทGoogle BigQuery
      • Connect your BigQuery
      • Grant access to BigQuery datasets
      • Enable multi project support
    • ๐Ÿ˜Postgres
      • Connect your Postgres
      • Whitelisting Whaly IPs
    • โ„๏ธSnowflake
      • Connect your Snowflake
      • Giving access to Snowflake data
  • Models
    • ๐Ÿ’žModels sync
      • Where should my models be managed?
      • dbt Cloud
        • Configuration
        • Exposing models into Whaly
    • ๐Ÿ“ฅPersistence Engine
      • Configuration
        • Snowflake
      • Check Materialisation runs status
  • Workbench
    • ๐Ÿš€Navigating the workbench
    • ๐Ÿ› ๏ธModeling
      • Understanding Datasets
        • General Information
        • Drills
        • Relationships
        • Primary Keys
        • Cache
      • Model Data
        • SQL Models
        • Flow Models
          • Create a Flow
          • Update a Flow
          • Flow steps
            • From Model
            • From Raw
            • Hide Column
            • Filter
            • Lookup
            • Rollup
            • Formulas
            • Group
            • Union
      • Import raw data
        • From your warehouse
        • From third party data
    • ๐ŸงญExplorations
      • Configure an exploration
      • Exploration Templates
      • Tables
        • Configure a table
        • Add related data
      • Metrics
        • Create a Metric
        • Create a Calculated Metric
        • Create Drill Downs
        • Using custom formatting
      • Dimensions
        • Create a dimension
      • Check measure usage
      • Row Level Access
  • Data consumption
    • ๐Ÿ’กExploring data
      • How to explore data
      • Drill Down
      • Forecasting
    • ๐Ÿ’นWhat is a Report?
    • ๐Ÿ“ŠDashboards
      • Create a dashboard
      • Manage tiles
        • Add chart tiles
        • Add text tiles
        • Add navigation tiles
        • Arranging tiles
      • Add a description
      • Share a dashboard
      • Filter a dashboard
      • Push dashboard
      • Delete a dashboard
    • ๐Ÿ“ˆQuestions
      • Create a question
      • Add a description
      • Share a question
      • Push question data
      • Delete a question
    • ๐Ÿ”Refreshing a report
  • Data visualisation
    • ๐ŸŽจTheming
    • ๐Ÿ–Œ๏ธChart your data
      • Bar chart
      • Calendar chart
      • Funnel chart
      • Gauge chart
      • Geo map chart
      • Heatmap chart
      • Interactive map chart
      • Line chart
      • Metric chart
      • Pie chart
      • Retention chart
      • Table chart
      • Treemap chart
      • Waterfall chart
      • Custom time format in time series
  • Content management
    • โญExplorations Section
    • โœ‚๏ธBulk Content Management
  • Embedding
    • ๐Ÿ“ŒEmbed in Business apps
      • Notion
      • Clickup
      • Hubspot
      • Google Chrome
        • ๐ŸŒฑInstall
        • โš™๏ธConfigure the Chrome extension
    • ๐Ÿ‘ฉโ€๐Ÿ’ปEmbedding API
    • ๐ŸชŸPartner Portal
  • Workflows
    • ๐Ÿš€Push
      • Configure a Push
      • Manage Push
    • ๐Ÿ’ผManage Installed Actions
    • โšกActions catalog
      • Airtable
      • Google Sheets
      • Slack
      • Sendgrid
      • Webhook
  • Platform concepts
    • โœณ๏ธQuery Mode
    • ๐Ÿ’ซCaching
  • Guides
    • โ›‘๏ธSupport
  • User
    • ๐ŸคฉUpload your profile picture
  • Connectors
    • ๐Ÿ”ŒConnect your Sources
    • โš™๏ธWarehouse setup
      • BigQuery
        • Configure a Cloud Storage cleaning rule
      • Snowflake
    • โ˜๏ธWhitelisting Whaly connectors IPs
    • ๐Ÿ”SSH Tunneling
    • ๐Ÿ„Schema drift
    • ๐Ÿ”Replication method
    • ๐Ÿง™Source monitoring
    • ๐ŸŽSource catalog
      • Community
        • Github Stars
        • Slack
        • Orbit
      • Database
        • PostgreSQL / Postgres
          • ๐Ÿ’กTip: Extracting the relationships
        • MariaDB / MySQL
      • eCommerce
        • WooCommerce
      • Engineering
        • Github
      • Finance
        • Brex
        • Pennylane
          • Pennylane (Redshift) - General Ledger & Trial Balance
          • Pennylane API - Customer Invoices
        • Qonto
        • Stripe
        • QuickBooks
      • Marketing / Growth
        • Facebook Ads
        • Google Ads
        • Google Analytics
          • Google Analytics (V4)
          • Google Analytics (Universal Analytics)
        • LaGrowthMachine
        • lemlist
        • LinkedIn Ads
        • Salesloft
      • No-Code
        • Airtable
        • Bubble
        • Google Sheets
      • Support
        • Intercom
      • Product
        • Amplitude
        • MixPanel
        • Segment
      • Sales / CRMs
        • Aircall
        • Pipedrive
        • Hubspot
        • Recruit CRM
        • Salesforce
Powered by GitBook
On this page
  • Prerequisitesโ€‹
  • Step 1: Set up Whaly-specific entities in Snowflakeโ€‹
  • Step 2: Set up Snowflake as a Warehouse in Whaly
  • How to get the Snowflake Account URL?

Was this helpful?

  1. Warehouse
  2. Snowflake

Connect your Snowflake

PreviousSnowflakeNextGiving access to Snowflake data

Last updated 1 year ago

Was this helpful?

Setting up the Snowflake warehouse connector involves setting up Snowflake entities (warehouse, database, schema, user, and role) in the Snowflake console, and configuring the Snowflake Warehouse connector using Whaly UI.

This page describes the step-by-step process of setting up the Snowflake warehouse connector.

Prerequisites

  • A Snowflake account with the role. If you donโ€™t have an account with the ACCOUNTADMIN role, contact your Snowflake administrator to set one up for you.

Step 1: Set up Whaly-specific entities in Snowflakeโ€‹

To set up the Snowflake warehouse connector, you first need to create Whaly-specific Snowflake entities (a warehouse, database, schema, user, and role) to read data into Snowflake, track costs pertaining to Whaly, and control permissions at a granular level.

You can use the following script in a new to create the entities:

  1. .

  2. Edit the following script to change the password to a more secure password and to change the names of other resources if you so desire.

  3. Execute the script as an ACCOUNTADMIN user (check on the top right corner of the Worksheet interface).

Note: Make sure you follow the while renaming the resources.

-- Set variables (these need to be uppercase)
set whaly_bi_username = 'WHALY_BI_USER';
set whaly_bi_password = 'you_should_change_me';

-- This shouldn't be modified
set whaly_bi_role = 'WHALY_BI_ROLE';
set whaly_bi_warehouse = 'WHALY_BI_WAREHOUSE';

begin;

-- create Whaly roles
use role securityadmin;
create role if not exists identifier($whaly_bi_role);
grant role identifier($whaly_bi_role) to role SYSADMIN;

-- create Whaly user
create user if not exists identifier($whaly_bi_username)
password = $whaly_bi_password
default_role = $whaly_bi_role
default_warehouse = $whaly_bi_warehouse;

grant role identifier($whaly_bi_role) 
    to user identifier($whaly_bi_username);

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

-- create Whaly warehouse
create warehouse if not exists identifier($whaly_bi_warehouse)
-- set the size based on your dataset
warehouse_size = medium
warehouse_type = standard
auto_suspend = 120
auto_resume = true
initially_suspended = true
statement_timeout_in_seconds = 600;

-- grant Whaly Warehouse access
grant USAGE
    on warehouse identifier($whaly_bi_warehouse)
    to role identifier($whaly_bi_role);

-- create Private Whaly database (used for SQL queries schema inference)
create database if not exists WHALY_PRIVATE;

grant USAGE
    on database WHALY_PRIVATE
    to role identifier($whaly_bi_role);

create schema if not exists WHALY_PRIVATE.SQL_SCHEMA_INFER;

grant USAGE, CREATE VIEW
    on schema WHALY_PRIVATE.SQL_SCHEMA_INFER
    to role identifier($whaly_bi_role);

commit;

Step 2: Set up Snowflake as a Warehouse in Whaly

Navigate to the Whaly UI to set up Snowflake as a destination. You can authenticate using username/password.

Account ID

User

The username you created in Step 1 to allow Whaly to access the database. Example: WHALY_BI_USER

Password

The password associated with the business intelligence user.

How to get the Snowflake Account URL?

If you have a standard Snowflake edition

  1. Go on the bottom right part of you screen and open your Account Selector.

  2. On the tooltip, select the proper account and click on "Copy account URL"

If you have a multi cluster Snowflake edition

  1. Go into the "Admin > Account" panel on the right side of the screen

  2. Next to your account name, click on the ๐Ÿ”— icon which will copy the URL on your clipboard!

The Account ID as an URL. Ex. . It can be found in Snowflake web UI in Admin > Accounts and then you cal click on the ๐Ÿ”— icon next to the account name in the table.

โ„๏ธ
โ€‹
ACCOUNTADMIN
Snowflake worksheet
Log into your Snowflake account
Snowflake identifier requirements
https://xxxxxxx-yyyyyyy.snowflakecomputing.com