- https://docs.snowflake.com/en/user-guide/data-load-overview
- https://docs.snowflake.com/en/user-guide/jdbc-configure
- https://docs.snowflake.com/en/sql-reference/sql
- Real-time analytics
- Business intelligence
- Operational reporting
- Compliance archiving
- Data warehousing
- Machine learning feature stores
- Streams Kafka events into Snowflake tables.
- Supports parameterized SQL execution.
- Supports INSERT, UPDATE, and MERGE operations.
- Authenticates using Snowflake credentials.
- Supports secure encrypted connections.
- Provides retry and operational monitoring.
- The connector subscribes to the configured Kafka topic.
- Incoming events are mapped to SQL parameters.
- The connector establishes a secure connection to Snowflake.
- SQL statements are executed against the configured database.
- Execution status and metrics are exposed through Condense observability.
Field-by-Field Explanation
Title
- Description: Friendly name for the connector.
- Example:
Snowflake_Streaming_Orders
Instance URL
- Description: Fully qualified Snowflake account URL.
- Example:
- Requirements:
- Must match your Snowflake account endpoint.
- Must be reachable from the Condense deployment.
Username
- Description: Snowflake user used for authentication.
- Requirements:
- Must have permissions to connect.
- Must have privileges to execute the configured SQL.
Password
- Description: Password associated with the Snowflake user.
- Security Recommendation: Store credentials securely and rotate them regularly.
Database Name
- Description: Target Snowflake database.
- Example:
STREAMING_DB - Requirements:
- Database must already exist.
- User must have access permissions.
Query
- Description: SQL statement executed for each incoming record or batch.
- Supported Statements:
- INSERT
- UPDATE
- MERGE
- Example:
- Recommendation: Use parameterized queries to improve security and performance.
Input Topic
- Description: Kafka topic inside Condense that supplies events.
- Example:
sensor.events.processed
Authentication Failed
Possible Causes- Incorrect username or password.
- Invalid Snowflake account URL.
- Verify account endpoint.
- Confirm credentials using the Snowflake web interface or SQL client.
SQL Execution Failed
Possible Causes- Invalid SQL syntax.
- Missing table or columns.
- Parameter mismatch.
- Validate the SQL statement directly in Snowflake.
- Ensure the number of placeholders matches the mapped event fields.
No Data Written
Possible Causes- No events in the input topic.
- Incorrect topic configuration.
- Verify the input topic is receiving events.
- Review connector logs for processing errors.
Connection Timeout
Possible Causes- Network restrictions.
- Firewall rules.
- Incorrect endpoint.
- Verify outbound connectivity.
- Confirm the Snowflake endpoint is accessible.
Permission Denied
Possible Causes- Insufficient database privileges.
- Grant the required INSERT, UPDATE, or MERGE privileges to the configured user.
Batch Processing
The connector supports processing events in batches to improve throughput and reduce execution overhead.Parameterized Queries
Using parameter placeholders (?) helps prevent SQL injection and enables prepared statement optimization.
Semi-Structured Data
Snowflake’sVARIANT data type can be used to store JSON payloads directly when schema flexibility is required.
Schema Evolution
If incoming event schemas change frequently, consider storing payloads asVARIANT columns and transforming them later using Snowflake SQL.
Performance Optimization
For high-volume workloads:- Use appropriately sized Snowflake warehouses.
- Batch writes whenever possible.
- Partition large tables appropriately.
- Use dedicated service accounts with the minimum required privileges.
- Always use parameterized SQL statements.
- Validate SQL queries before deploying the connector.
- Store credentials securely using secret management solutions.
- Monitor connector throughput, latency, and failures using Condense observability and Snowflake monitoring.