Snowflake support

Applies to: Dataedo 24.x (current) versions, Article available also for: 10.x, 23.x

Connection requirements

To connect to Snowflake you need to install ODBC connector:

https://docs.snowflake.net/manuals/user-guide/odbc-download.html

Connecting to Snowflake

To connect to Snowflake create new documentation by clicking Add documentation and choosing Database connection.

Connection to SQL Server

On the connection screen choose Snowflake as DBMS.

Select authentication mode:

  • Password - you will need to provide username and password.
  • SSO (browser) - Dataedo will open web browser to let you authenticate with Okta.
  • JWT (private key) - authentication with a private key. Learn more

Provide database connection details:

  • Host - provide a host name or address where a database is on. E.g. server17, server17.ourdomain.com or 192.168.0.37.
  • Port - change the default port of Amazon Redshift instance if required
  • User and password - provide your username and password
  • Database - type in schema name

Connection to SQL Server

Here is a comparison with connection details in DBeaver.

Connection to SQL Server

Saving password

You can save password for later connections by checking Save password option. Password are saved in the repository database.

Importing schema

When connection was successful Dataedo will read objects and show a list of objects found. You can choose which objects to import. You can also use advanced filter to narrow down list of objects.

Objects to import

Confirm list of objects to import by clicking Next.

Next screen with allow you to change default name of the documentation under with your schema will be visible in Dataedo repository.

Change title

Click Import to start the import.

Importing documentation

When done close import window with Finish button.

Your database schema has been imported to new documentation in the repository.

Imported database schema

Importing changes

To sync any changes in the schema in Snowflake and reimport any technical metadata simply choose Import changes option. You will be asked to connect to Snowflake again and changes will be synced from the source.

Specification

Imported metadata

Imported Editable
Tables, External tables, Transient tables
  Columns
   Data types
   Nullability
   Column comments
  Table comments
  Foreign keys
  Primary keys
  Unique keys
Views, Materialized Views
  Script
  Columns
    Data types
    Column comments
  View comments
Dynamic tables
  Script
  Columns
    Data types
    Column comments
  Table comments
Stored procedures
  Script
  Parameters
  Procedure comments
Tasks
  Script
  Task comments
User-defined Functions
  Script
  Input arguments (all as a single field)
  Output results (as a single field)
  Function comments
Stages
  Location
  Stage comments
Pipelines
  Script
  Pipeline comments
Shared metadata
  Dependencies
  Created time
  Last updated time

Comments

Dataedo reads comments from following Snowflake objects:

Object Read Write back
Tables, External tables, Transient tables
  Column comments
Views, Materialized Views
  Columns
Dynamic tables
  Columns
Stored procedures
Tasks
Function
Stages
Pipelines

Data profiling

Datedo supports following data profiling in Snowflake:

Profile Support
Table row count
Table sample data
Column distribution (unique, non-unique, null, empty values)
Min, max values
Average
Variance
Standard deviation
Min-max span
Number of distinct values
Top 10/100/1000 values
10 random values

Data Lineage

Source Method Status
Views - object level From dependencies
Views - object level From SQL parsing
Views - column level From SQL parsing
Dynamic tables - object level From INFORMATION_SCHEMA
Dynamic tables - column level From SQL parsing
External storages (Azure, AWS) -> Stages From INFORMATION_SCHEMA
Stages -> External tables (Azure, AWS) From INFORMATION_SCHEMA
Stages -> Pipelines From SQL parsing
Pipelines -> Tables From SQL parsing
Stages -> Tables (COPY INTO) FROM ACCOUNT_USAGE
Tables - from Kafka TBD TBD
dbt dbt connector

Column-level data lineage is retived using Dataedo SQL parser. Read more about capabilities of Snowflake SQL parser.

Known limitations

  • Snowflake’s INFORMATION_SCHEMA currently doesn’t contain data on object dependencies or usage of COPY INTO statements. Information about dependencies and COPY INTO history is retrieved from the SNOWFLAKE.ACCOUNT_USAGE.OBJECT_DEPENDENCIES and SNOWFLAKE.ACCOUNT_USAGE.COPY_HISTORY views. By default, the SNOWFLAKE database is available only to the ACCOUNTADMIN role. Read more about Enabling Snowflake Database Usage for Other Roles.

Due to Snowflake Connector for .NET limitations:

  • Username and password
    • Cannot contain ; and = characters
  • Database, role and warehouse name
    • Cannot contain ; and ‘ or \ characters

Learn more

Connect to Snowflake