# Snowflake setup

The Snowflake connector enables you to quickly establish a connection with your Snowflake warehouse to load data and seamlessly run transformation models.

In this guide, you'll learn how to:

* Prepare a sample dataset in Snowflake
* Set up a connection from Recurve to Snowflake

### Prerequisites

* You already join a Recurve organization.
* You have a Snowflake account. If you don’t have one, sign up for a free trial here: [Snowflake Signup](https://signup.snowflake.com/).

### Prepare sample dataset

To demonstrate the connetion process, we'll be using the `jaffle_shop` dataset — a fictional e-commerce store's data provided by the dbt community. This dataset offers a practical example of typical e-commerce data structures that mirror real-world scenarios.&#x20;

You can use the [jafgen](https://github.com/dbt-labs/jaffle-shop-generator) CLI tool generate synthetic data for any specified year range.

The dataset includes these tables:

* Customers (who place Orders)
* Orders (from those Customers)
* Products (the food and beverages the Orders contain)
* Order Items (of those Products)
* Supplies (needed for making those Products)
* Stores (where the Orders are placed and fulfilled)
* Tweets (Customers sometimes issue Tweets after placing an Order)

Or simply download the generated data below:

{% file src="/files/oYDfqEhOrOPCXZBLY5sJ" %}

### Load data

With the sample data prepared in the CSV files, we can use the Snowflake web interface to load them into your database.

Follow these steps:

1. Go to your [Snowflake web interface](https://app.snowflake.com/).
2. From the homepage, click **Upload local files** to open the data loading wizard:
   1. Click **Browse**, and select a CSV file from the prepared dataset.
   2. Click **+ Database** to create a dedicated database for our use case.

      Here we can name it `RECURVE_DEMO`.
   3. Select **+ Create new table** from the dropdown and enter the corresponding table name. For example, for `raw_customers.csv`, name the table `raw_customers`.

      <figure><img src="/files/NBoz6vOIR6fYCq598hDU" alt=""><figcaption></figcaption></figure>
   4. Click **Next**.

      At this step, Snowflake automatically detects table schema and presents it in the interface. You can verify if the columns' names and data types are correctly detected and adjust accordingly. For our sample CSV files, make sure that the first row is considered the header, containing column names.

      <figure><img src="/files/tJ07VH0RvoTj7bPs76lk" alt=""><figcaption></figcaption></figure>
   5. Click **Load** to confirm and wait for the loading process to complete.
3. Repeat *step 2* to load all the tables into the same database.

## Get Snowflake credentials

## Connect Recurve to Snowflake


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.reorc.com/getting-started/1.-set-up-a-connection/snowflake-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
