Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Snowflake is an S3-based data warehouse service hosted in the cloud. Auto-scaling, automatic failover, and other features simplify the deployment and management of your enterprise's data warehouse. For more information, see https://www.snowflake.com

Supported Environments:

Operation

D s product

AmazonMicrosoft Azure
ReadNot supportedSupportedNot supported
WriteNot supportedSupportedNot supported


Prerequisites


  • S3 base storage layer: Snowflake access requires installation of
    D s item
    itemsoftware
    in the AWS infrastructure and use of S3 as the base storage layer, which must be enabled. See Set Base Storage Layer. 

...

  • PUBLIC schema: If you do not create an external staging database:
    • A PUBLIC schema is required in your default database.
    • If you do not provide a stage database, then a temporary stage is created for you under the PUBLIC schema in the default database.
  • S3 bucket: The user-created stage must point to the same S3 bucket as the default bucket in use by
    D s product
    .
  • Same region:  The Snowflake cluster must be in the same region as the default S3 bucket.
  • IAM role requirements: If you are accessing AWS and Snowflake using IAM roles, please verify that the appropriate permissions have been assigned to the role to access Snowflake and its backing S3 buckets. For more information, see Required AWS Account Permissions.
  • Staging database: Snowflake supports the use of a stage for reading and writing data to S3 during job executions.

...

  1. Login to the application.
  2. In the left nav bar, click the Connections icon.
  3. In the Create Connection page, click the Snowflake connection card.
  4. Specify the properties for your Snowflake database connection. The following parameters are specific to Snowflake connections:

    Info

    NOTE: In Snowflake connections, property values are case-sensitive. Snowflake-related locations are typically specified in capital letters.


PropertyDescription
Account Name

Snowflake account to use. Suppose your hostname is the following:

Code Block
mycompany.snowflakecomputing.com

Your account name is the following:

Code Block
mycompany


Info

NOTE: Your full account name might include additional segments that identify the region and cloud platform where your account is hosted.


Warehouse

The name of the warehouse to use when connected. This value can be an empty string.

If specified, the warehouse should be an existing warehouse for which the default role has privileges.


Stage

If you have deployed a Snowflake stage for managing file conversion to tables, you can enter its name here. A stage is a database object that points to an external location on S3. It must be an external stage containing access credentials.

If a stage is used, then this value is typically the schema and the name of the stage. Example value:

Code Block
MY_SCHEMA.MY_STAGE	

If a stage is not specified, a temporary stage is created using the current user's AWS credentials.

Info

NOTE: Without a defined stage, you must have write permissions to the database from which you import. This database is used to create the temporary stage.


For more information on stages, see https://docs.snowflake.net/manuals/sql-reference/sql/create-stage.html.

Credential Type

Select the type of credentials to provide with the connection:

  • Basic - username and password are used by the connection to authenticate to Snowflake.
  • OAuth 2.0 - use OAuth 2.0 client connect to Snowflake. The client must already be defined in the

    D s webapp
    and then selected in the connection configuration.

    Info

    NOTE: After you have specified the connection to use OAuth 2.0, click Authenticate to validate the connection with the target datastore. If you have modified the connection, click Re-authenticate to validate the new connection definition. You must re-authenticate if you receive an expired tokens message. For more information, see Enable OAuth 2.0 Authentication.

    For more information, see OAuth 2.0 for Snowflake.

Database for Stage

(optional) If you are using a Snowflake stage, you can specify a database other than the default one to host the stage.

Info

NOTE: If you are creating a read-only connection to Snowflake, this field is required. The accessing user must have write permission to the specified database.

If no value is specified, then your stage must be in the default database.

For more information, see Create Connection Window.

...

  • Type: snowflake
  • vendor: snowflake

Troubleshooting

Error MessageDescription
Null values in some columns for all rows

When there are spaces/special characters in columns names, null values can be inserted for all rows in the column. The workaround is to remove any special characters and spaces from column names.

Testing

Import a dataset from Snowflake. Add it to a flow, and specify a publishing action back to Snowflake. Run a job.For more information, see Verify Operations.

...

You can create a 

D s item
itemdataset
 from a table stored in Snowflake.

...

Snowflake

...

.

Writing to Snowflake

You can write back data to Snowflake using one of the following methods:

...