Snowflake Native Apps Best Practices#

Warehouse Size#

For optimal performance, use a dedicated warehouse for Native Apps. A warehouse size of X-Small is typically sufficient.

Snowflake SQL Scripting#

General information about Snowflake SQL Scripting can be found in the Snowflake documentation at Snowflake SQL Scripting.

Batch Processing#

Native Apps are especially designed to process data in batches. We recommend using the following approach to handle large datasets:

  • Unless you have a specific requirement, we recommend using the default input fields.

  • RecordID is required for all input records and must be unique. If you wish to use the same output table for multiple runs, make sure RecordID is unique across all runs.

  • For large datasets, we recommend choosing a smaller number of

License Key as Input#

You can store your License Key in a secure location and reference it in your SQL scripts using the SELECT statement.

USE MELISSA_NATIVE_APP.CORE;

CALL STORED_PROCEDURE_NAME(
  LICENSE         => (SELECT LICENSE_KEY FROM <MY_SECURE_TABLE>),
  -- other parameters
);

Table Names as Input#

All input and output table names must follow Snowflake’s naming convention.

Please refer to Identifier Requirements for more details.