Learn how to set up and use a Snowflake connection in Prophecy. With a Snowflake connection, you can read from and write to tables in your Snowflake account using Source and Target gems, browse data in the Environment browser, and process Snowflake data within Prophecy pipelines. Snowflake can also be configured as a fßabric SQL warehouse, where it executes pipeline transformations. This page describes how to configure a Snowflake connection for accessing data. To learn about using Snowflake as a compute engine, see Create a Snowflake fabric.Documentation Index
Fetch the complete documentation index at: https://docs.prophecy.ai/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
When you create a Snowflake connection in Prophecy, all data operations—such as reading or writing—are executed using the Snowflake credentials you provide. Ensure that your Snowflake user has the following permissions:SELECT,INSERT,UPDATE, andDELETEon the tables used in your Prophecy pipelines.OWNERSHIPon the table, if Prophecy needs to alter or replace it.
CREATE FILE FORMATin the target schema.USAGEon any file formats used for reading/writing Parquet files.- Write access to your user stage
Connection type
Connection type
Snowflake can be used in two ways within Prophecy.| Connection type | Description |
|---|---|
| SQL Warehouse connection | Snowflake acts as the compute engine for a fabric and executes pipeline SQL transformations. To learn more about SQL Warehouse connections, visit Prophecy fabrics. |
| Ingress/Egress connection | Snowflake is used only as a data source or target. Pipelines read from or write to Snowflake tables while transformations run in another warehouse. |
Feature support
The table below outlines whether the connection supports certain Prophecy features.| Feature | SQL Warehouse | Ingress/Egress |
|---|---|---|
| Run SQL queries | Yes | No |
| Read data with Source gem | Yes | Yes |
| Write data with Target gem | Yes | Yes |
| Browse data in Environment browser | Yes | Yes |
| Index tables in Knowledge Graph | No | No |
Connection parameters
To create a connection with Snowflake, enter the following parameters:| Parameter | Description |
|---|---|
| Connection Name | Name to identify your connection |
| Account | URL of your Snowflake account Example: https://<orgname>-<account_name>.snowflakecomputing.com |
| Database | Default database for reading and writing data |
| Schema | Default schema for reading and writing data |
| Warehouse | Name of the Snowflake virtual warehouse used to execute queries for this connection. |
| Role | Snowflake role of the user to connect Example: ACCOUNTADMIN |
| Authentication method | Enter your Snowflake username and use a secret to enter your password. |
Data type mapping
When Snowflake data is processed in pipelines running on other SQL warehouses (such as Databricks or BigQuery), Prophecy converts Snowflake-specific data types to compatible types. This table shows how Snowflake data types are transformed for Databricks and BigQuery.| Snowflake | Databricks | BigQuery |
|---|---|---|
| NUMBER | BIGINT Alias: Bigint | INT64 Alias: Integer |
| INTEGER | BIGINT Alias: Bigint | INT64 Alias: Integer |
| BIGINT | BIGINT Alias: Bigint | INT64 Alias: Integer |
| SMALLINT | BIGINT Alias: Bigint | INT64 Alias: Integer |
| TINYINT | BIGINT Alias: Bigint | INT64 Alias: Integer |
| FLOAT | DOUBLE Alias: Double | FLOAT64 Alias: Float |
| DOUBLE | DOUBLE Alias: Double | FLOAT64 Alias: Float |
| REAL | DOUBLE Alias: Double | FLOAT64 Alias: Float |
| DECIMAL | DOUBLE Alias: Double | FLOAT64 Alias: Float |
| NUMERIC | DOUBLE Alias: Double | FLOAT64 Alias: Float |
| BOOLEAN | BOOLEAN Alias: Boolean | BOOL Alias: Boolean |
| VARCHAR | STRING Alias: String | STRING Alias: String |
| CHAR | STRING Alias: String | STRING Alias: String |
| STRING | STRING Alias: String | STRING Alias: String |
| TEXT | STRING Alias: String | STRING Alias: String |
| DATE | DATE Alias: Date | DATE Alias: Date |
| TIME | STRING Alias: String | TIME Alias: Time |
| DATETIME | TIMESTAMP Alias: Timestamp | TIMESTAMP Alias: Timestamp |
| TIMESTAMP_NTZ | TIMESTAMP Alias: Timestamp | TIMESTAMP Alias: Timestamp |
| TIMESTAMP_LTZ | TIMESTAMP Alias: Timestamp | TIMESTAMP Alias: Timestamp |
| TIMESTAMP_TZ | TIMESTAMP Alias: Timestamp | TIMESTAMP Alias: Timestamp |
| BINARY | BINARY Alias: Binary | BYTES Alias: Bytes |
| VARBINARY | BINARY Alias: Binary | BYTES Alias: Bytes |
| VARIANT | STRING Alias: String | STRING Alias: String |
| OBJECT | STRING Alias: String | STRING Alias: String |
| ARRAY | STRING Alias: String | STRING Alias: String |
| NULL | STRING Alias: String | STRING Alias: String |
Learn more in Supported data types.
Limitations
There are a few limitations on the data types you can read from Snowflake:- Prophecy reads
Object,Array, andVarianttypes asStringtype. - Prophecy does not support writing
Binarytype columns.

