Write to Snowflake
This guide shows you how to create a Snowflake Write Component.
Prerequisites
- Snowflake Connection with write permissions
- An Ascend Flow with a Component that contains data
Create a new Write Component
From your Workspace Super Graph view, follow these steps to create your Write Component:
- Form
- Files panel
- Double-click the Flow where you want to create your Component
- Right-click on any Component
- Hover over Create Downstream -> Write, and select your target Connection
- Complete the form with these details:
- Select your Flow
- Enter a descriptive Component Name like
write_mysql
- Open the Files panel in the top left corner
- Navigate to and select your desired Flow
- Right-click on the components directory and choose New file
- Name your file with a descriptive name like
write_mysql.yaml
and press enter
Configure your Snowflake Write Component
Follow these steps to configure your Snowflake Write Component:
- Set up your Connection
- Enter your Snowflake Connection name in the
connection
field
- Enter your Snowflake Connection name in the
- Define your data source
- Set
input
to the Component that contains your source data
- Set
- Configure the write destination
- Set up the
snowflake
write connector options - Specify your target table name, schema, and other required properties
- Set up the
- Choose a write strategy
Select the strategy that best fits your use case:
Strategy Description Best for full (default)
Replaces the entire target table during each Flow Run Reference tables, complete data refreshes partitioned
Updates only the partitions that have changed Time-series data, regional datasets, date-partitioned tables snapshot
Creates flexible output as a single file or multiple chunks Data exports, analytical datasets, flexible output formats
For detailed guidance on when to use each strategy, see the write strategies guide.
Examples
Choose the write strategy that best fits your use case:
- Full write strategy
- Partitioned write strategy
This example shows a Snowflake Write Component that uses a full write strategy with drop_and_recreate
mode.
This strategy replaces all data in the target table during each Flow run, ensuring a complete refresh.
component:
write:
connection: write_snowflake
input:
name: my_component
flow: my_flow
strategy:
full:
mode: drop_and_recreate
snowflake:
table:
name: my_table
schema: my_output_schema
uppercase: true
This example shows a Snowflake Write Component that uses a partitioned write strategy with sync
mode.
This strategy only updates modified partitions while preserving existing partitions, which is more efficient for large datasets.
component:
write:
connection: write_snowflake
input:
name: my_component
flow: my_flow
strategy:
partitioned:
mode: sync
snowflake:
table:
name: my_partitioned_table
schema: my_output_schema
uppercase: true
🎉 Congratulations! You successfully created a Snowflake Write Component in Ascend.