ePrivacy and GPDR Cookie Consent by Cookie Consent Skip to main content

Loader Snowflake

Snowflake is a cloud-based data warehousing platform that provides a scalable and flexible solution for storing and analyzing large volumes of data. It is known for its unique architecture that separates storage and computing, allowing users to scale resources based on their specific needs independently.

Business value in CDP

The loader functionality facilitates the seamless transfer of data from the CDP to Snowflake, ensuring that businesses can harness the power of Snowflake's data processing capabilities to derive valuable insights, perform complex analytics, and make informed decisions based on a unified and comprehensive view of their customer data. This integration streamlines the data pipeline and enhances the overall data management and analytics capabilities within an organization.

Learn more: about Snowflake from Snowflake documentation.

Setting up the loader in MI

The Snowflake loader is used to load data into the Snowflake database.

Data In/Data Out

Data In 

The component reads the configuration, loads the data from the input files, and then sends data to either existing or new Snowflake database.

Data from the previous component should be saved as a CSV table in the folder /data/in/files/ 

File structure:




Warning: delimited text (CSV) files should correspond to the following:
• Character ‘,’ should be used as a delimiter in the input CSV files.
• Fields that contain the delimiter character (‘,’) must be enclosed in double quotes (‘"’) unless the data already contains them.
• For Windows OS, fields that contain carriage returns should also be enclosed in double quotes.
• The number of columns in each row should be consistent.

Data Out


Learn more: about folder structure in configuration here.

Parameters - Database

Host name (required)

Name of the Snowflake instance that hosts the database.

Port (required)

The port number you want to access (the default is 443).

Database (required)

Name of the database.

User (required)

Account name.

Password (required)

Account password. 

Schema (required)

Organization unit in the database (the default is PUBLIC).

Warehouse (required)

A Snowflake warehouse (computational resource) name.


Enabled (optional)

Checked if SSH required to connect to the database.

Private (optional)

Private key.

Public (optional)

Public key.

SSH Host (optional)

Name of SSH Host.

Parameters - Table

ID (required)

ID of the table - corresponds to the name of the CSV file to import to the table (e.g. ID.csv).

Name (required)

Name of the table.

Primary Key (optional)

List of column names to be used as a primary key.

Incremental (optional)

If incremental load mode is enabled, the data is inserted/updated in the destination table, depending on whether the primary key is defined. If incremental load mode is disabled, the table is recreated and any existing data will be removed.

Parameters - Column

Name (required)

Refers to the column in the input CSV file.

DB Name (required)

Refers to how this column will be named in the destination database.

Type (required)

The data type used in the column.

Learn more: about acceptable data types

Size (optional)

The maximum number of digits used by the data type of the column or parameter.

Nullable (optional)

If checked, then the data with empty strings are loaded as NULL values in the destination database.

Default Value (optional)

The default value is inserted for empty values in the column.

Warning: Loading very large files (e.g. 100 GB or larger) is not recommended. Learn more here.