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
Feature support
The table below outlines whether the connection supports certain Prophecy features.| Feature | Supported |
|---|---|
| Read data with a Source gem | Yes |
| Write data with a Target gem | Yes |
| Browse data in the Environment browser | Yes |
| Index tables in the Knowledge Graph | 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 SQL warehouse to use for the 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 Prophecy processes data from Snowflake using SQL warehouses, it converts Snowflake-specific data types to formats compatible with your target warehouse. 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.

