---
title: Publish a recipe
description: Publish a recipe to push down transformations to your data source and generate an output dataset.

---

# Publish a recipe {: #publish-a-recipe }

Once the recipe is built and live sample looks ready for modeling, you can publish the recipe, pushing it down as a query to the data source. There, the query is executed by applying the recipe to the entire dataset and materializing a new output dataset. The output is sent back to DataRobot and added to the Use Case.

See the associated [considerations](wb-data-ref/index#wrangle-data) for important additional information.

To publish a recipe:

1. After you're done wrangling a dataset, click **Publish recipe**.

    ![](images/wb-publish-5.png)

2. Enter a name for the output dataset. DataRobot will use this name to register the dataset in the AI Catalog and Data Registry.

    ![](images/wb-publish-3.png)

3. (Optional) Configure [Automatic downsampling](#configure-downsampling).

    ![](images/wb-publish-4.png)

4. Click **Publish**.

    DataRobot sends the published recipe to Snowflake and where it is applied to the source data to create a new output dataset. In DataRobot, the output dataset is registered in the Data Registry and added to your Use Case.

## Publish to Snowflake {: #publish-to-Snowflake }

!!! info "Public preview"
     In-source materialization for Snowflake is off by default. Contact your DataRobot representative or administrator for information on enabling the feature.

     <b>Feature flag:</b> Enable Snowflake In-Source Materialization in Workbench

When you publish a wrangling recipe, those operations and settings are pushed down into the Snowflake virtual warehouse, allowing you to leverage the security, compliance, and financial controls specified within the Snowflake environment. By default, the output dataset is materialized in DataRobot's Data Registry, however, you can choose to also materialize the wrangled dataset in Snowflake. 

To enable Snowflake in-source materialization:

1. In the **Publishing Settings** modal, click **Publish to Snowflake**.

    ![](images/wb-snow-mat-1.png)

2. Select the appropriate Snowflake **Database** and **Schema** using the dropdowns.

    ![](images/wb-snow-mat-2.png)

3. From here, you can:

    - Publish your recipe.
    - [Configure downsampling](#configure-downsampling).

## Configure downsampling {: #configure-downsampling }

Automatic downsampling is a technique used to reduce the size of a dataset by reducing the size of the majority class using random sampling.  Consider enabling automatic downsampling if the size of your source data exceeds that of [DataRobot's file size requirements](file-types){ target=_blank }.

To configure downsampling:

1. Enable the **Automatic downsampling** toggle in the **Publishing Settings** modal.

    ![](images/wb-publish-1.png)

2. Specify the **Maximum number of rows** and **Estimated size** in megabytes.

    ![](images/wb-publish-2.png)


## Next steps {: #next-steps }

From here, you can:

- [Add more data.](wb-add-data/index)
- [View Exploratory Data Insights to determine if you want to continue data wrangling.](wb-data-tab)
- [Use the dataset to set up an experiment and start modeling.](wb-experiment/index)

## Read more {: #read-more}

To learn more about the topics discussed on this page, see:

- [Snowflake documentation on pushdown](https://docs.snowflake.com/en/developer-guide/pushdown-optimization){ target=_blank }
- [DataRobot file size requirements](file-types){ target=_blank }