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.

