---
title: Prediction intake options
description: For batch prediction data intake, you can use local file streaming, S3 scoring, Azure Blob Storage scoring, Google Cloud Storage scoring, HTTP scoring, an AI Catalog dataset scoring, JDBC scoring, Snowflake scoring, Synapse scoring, or BigQuery scoring.

---

# Prediction intake options {: #prediction-intake-options }

You can configure a prediction source using the **[Predictions > Job Definitions](batch-pred-jobs#set-up-prediction-sources)** tab or the [Batch Prediction API](batch-prediction-api/index). This topic describes both the UI and API intake options.

!!! note
    For a complete list of supported intake options, see the [data sources supported for batch predictions](batch-prediction-api/index#data-sources-supported-for-batch-predictions).

| Intake option                                                | Description |
|--------------------------------------------------------------|-------------|
|[Local file streaming](#local-file-streaming)                 | Stream input data through a URL endpoint for immediate processing when the job moves to a running state. |
|[AI Catalog dataset scoring](#ai-catalog-dataset-scoring)     | Read input data from a dataset snapshot in the DataRobot [AI Catalog](glossary/index#ai-catalog). |
|[HTTP scoring](#http-scoring)                                 | Stream input data from an absolute URL for scoring. This option can read data from pre-signed URLs for Amazon S3, Azure, and Google Cloud Platform. |                              
|  **Cloud storage intake** | :~~: |
|[Amazon S3 scoring](#amazon-s3-scoring)                       | Read input data from public or private S3 buckets with DataRobot credentials consisting of an access key (ID and key) and a session token (optional). This is the preferred intake option for larger files. |
|[Azure Blob Storage scoring](#azure-blob-storage-scoring)     | Read input data from Azure Blob Storage with DataRobot credentials consisting of an Azure Connection String. |
|[Google Cloud Storage scoring](#google-cloud-storage-scoring) | Read input data from Google Cloud Storage with DataRobot credentials consisting of a JSON-formatted account key. |
|  **Database intake** | :~~: |
|[JDBC scoring](#jdbc-scoring)                                 | Read prediction data from a JDBC-compatible database with data source details supplied through a job definition or the Batch Prediction API.
|  **Data warehouse intake** | :~~: |
|[BigQuery scoring](#bigquery-scoring)                         | Score data using BigQuery with data source details supplied through a job definition or the Batch Prediction API. |
|[Snowflake scoring](#snowflake-scoring)                       | Score data using Snowflake with data source details supplied through through a job definition or the Batch Prediction API. |
|[Synapse scoring](#synapse-scoring)                           | Score data using Synapse with data source details supplied through through a job definition or the Batch Prediction API. |


If you are using a custom [CSV format](batch-prediction-api/index#csv-format), any intake option dealing with CSV will adhere to that format.

## Local file streaming {: #local-file-streaming }

Local file intake does not have any special options. This intake option requires you to upload the job's scoring data using a `PUT` request to the URL specified in the `csvUpload` link in the job data. This starts the job (or queues it for processing if the prediction instance is already occupied).

If there is no other queued job for the selected prediction instance, scoring will start while you are still uploading.

Refer to [this sample use case](pred-examples#end-to-end-scoring-of-csv-files-from-local-files).

!!! note
    If you forget to send scoring data, the job remains in the INITIALIZING state.

## AI Catalog dataset scoring {: #ai-catalog-dataset-scoring }

To read input data from an [**AI Catalog**](catalog) dataset, the following options are available:

| UI field |  Parameter   | Example |  Description  |
|----------|--------------|----------------|----------|
| Source type | `type`  | `dataset` | In the UI, select **AI Catalog**. |
| + Select source from AI Catalog |  `datasetId` |  `5e4bc5b35e6e763beb9db14a`  | The **AI Catalog** dataset ID.<br><br>In the UI, sort by Creation date, Name, or Description. You can filter to select from datasets that are snapshots, not snapshots, or all. Select the dataset, then click **Use the dataset**. |
|  + Select version | `datasetVersionId`  |  `5e4bc5555e6e763beb488dba`  |  The **AI Catalog** dataset version ID (optional).<br><br>In the UI, enable the **+ Select version** field by selecting the **Use specific version** check box. Search for and select the version. If `datasetVersionId` is not specified, it defaults to the latest version for the specified dataset.  |

!!! note
    For the specified **AI Catalog** dataset, the version to be scored must have been successfully ingested, and it must be a snapshot.

## Amazon S3 scoring {: #amazon-s3-scoring }

For larger files, S3 is the preferred method for intake. DataRobot can ingest files from both public and private buckets. To score from Amazon S3, you must set up a credential with DataRobot consisting of an access key (ID and key) and, optionally, a session token.

| UI field |  Parameter   | Example |  Description  |
|----------|--------------|----------------|----------|
| Source type | `type` | `s3` | DataRobot recommends S3 for intake. |
| URL | `url` | `s3://bucket-name/datasets/scoring.csv` | An absolute URL for the file to be scored.|
| Format | `format` | `csv` | Optional. CSV (default) or Parquet. |
| + Add credentials |  `credentialId` |  `5e4bc5555e6e763beb488dba` |  In the UI, enable the **+ Add credentials** field by selecting **This URL requires credentials**. Required if explicit access credentials for this URL are required. Refer to [storing credentials securely](batch-prediction-api/index#store-credentials-securely).   |

AWS credentials are encrypted and only decrypted when used to set up the client for communication with AWS during scoring.

!!! note
      If running a Private AI Cloud within AWS, it is possible to provide implicit credentials for your application instances using an IAM Instance Profile to access your S3 buckets without supplying explicit credentials in the job data. For more information, see the [AWS documentation](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-iam-instance-profile.html){ target=_blank }.

## Azure Blob Storage scoring {: #azure-blob-storage-scoring }

Another scoring option for large files is Azure. To score from Azure Blob Storage, you must configure credentials with DataRobot using an Azure Connection String.

| UI field |  Parameter   | Example |  Description  |
|----------|--------------|----------------|----------|
| Source type | `type` | `azure` | Use Azure Blob Storage for intake. |
| URL | `url` | `https://myaccount.blob.core.windows.net/datasets/scoring.csv` | An absolute URL for the file to be scored.|
| Format | `format` | `csv` | Optional. CSV (default) or Parquet. |
| + Add credentials |  `credentialId` |  `5e4bc5555e6e763beb488dba` |  In the UI, enable the **+ Add credentials** field by selecting **This URL requires credentials**. Required if explicit access to credentials for this URL are required (optional otherwise). Refer to [storing credentials securely](batch-prediction-api/index#store-credentials-securely). |

Azure credentials are encrypted and are only decrypted when used to set up the client for communication with Azure during scoring.

## Google Cloud Storage scoring {: #google-cloud-storage-scoring }

DataRobot also supports the Google Cloud Storage adapter. To score from Google Cloud Storage, you must set up a credential with DataRobot consisting of a JSON-formatted account key.

| UI field |  Parameter   | Example |  Description  |
|----------|--------------|----------------|----------|
| Source type | `type` | `gcp` | Use Google Cloud Storage for intake. |
| URL | `url` | `gcs://bucket-name/datasets/scoring.csv` | An absolute URL for the file to be scored.|
| Format | `format` | `csv` | Optional. CSV (default) or Parquet. |
| + Add credentials |  `credentialId` |  `5e4bc5555e6e763beb488dba` |  In the UI, enable the **+ Add credentials** field by selecting **This URL requires credentials**. Required if explicit access credentials for this URL are required, otherwise optional. Refer to [storing credentials securely](batch-prediction-api/index#store-credentials-securely). |


GCP credentials are encrypted and are only decrypted when used to set up the client for communication with GCP during scoring.

## HTTP scoring {: #http-scoring }

In addition to the cloud storage adapters, you can also point batch predictions to a regular URL so DataRobot can stream the data for scoring:

|  Parameter   | Example |  Description  |
|--------------|---------|---------------|
| `type`       | `http`  | Use HTTP for intake. |
| `url`        | `https://example.com/datasets/scoring.csv` | An absolute URL for the file to be scored.|

The URL can optionally contain a username and password, such as `https://username:password@example.com/datasets/scoring.csv`.

The `http` adapter can be used for ingesting data from pre-signed URLs from either [S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html){ target=_blank }, [Azure](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview){ target=_blank }, or [GCP](https://cloud.google.com/storage/docs/access-control/signed-urls){ target=_blank }.

## JDBC scoring {: #jdbc-scoring }

DataRobot supports reading from any JDBC-compatible database for Batch Predictions.

To use JDBC with the Batch Prediction API, specify `jdbc` as the intake type. Since no file is needed for a `PUT` request, scoring will start immediately, transitioning the job to RUNNING if preliminary validation succeeds. To support this, the Batch Prediction API integrates with [external data sources](data-conn#add-data-sources) using credentials securely stored in [data credentials](stored-creds).

Supply data source details using the  **[Predictions > Job Definitions](batch-pred-jobs#set-up-prediction-sources)** tab or the [Batch Prediction API](batch-prediction-api/index) (`intakeSettings`) as described in the table below.

| UI field | Parameter   | Example |  Description  |
|----------|-------------|---------|---------------|
| Source type | `type` |  `jdbc` |   Use a JDBC data store as output. |
| + Select connection | `dataStoreId` | `5e4bc5b35e6e763beb9db14a` | The ID of an external data source. In the UI, select a Snowflake data connection or click [add a new data connection](data-conn#add-data-sources). Complete account and authorization fields. |
| Enter credentials | `credentialId` |  `5e4bc5555e6e763beb9db147` |   The ID of a stored credential containing username and password. Refer to [storing credentials securely](batch-prediction-api/index#store-credentials-securely). |
|  *Deprecated option* | `fetchSize (deprecated)`  |  `1000` |   Deprecated: `fetchSize` is now being inferred dynamically for optimal throughput and is no longer needed.  Optional. To balance throughput and memory usage, sets a custom `fetchSize` (number of rows read at a time). Must be in range [1, 100000]; default 1000.   |
|  Tables | `table`  |  `scoring_data` |   Optional. The name of the database table containing data to be scored. |
| Schemas | `schema` |  `public` |   Optional. The name of the schema containing the table to be scored. |                                                                                                                                   |  SQL query | `query`|  `SELECT feature1, feature2, feature3 AS readmitted FROM diabetes`  |   Optional. A custom query to run against the database. |

!!! note
    You must specify either `table` and `schema` or `query`.

Refer to the [example section](batch-prediction-api/pred-examples#end-to-end-scoring-from-a-jdbc-postgresql-database) for a complete API example.

### Source IP addresses for whitelisting {: #source-ip-addresses-for-whitelisting }

Any connection initiated from DataRobot originates from one of the following IP addresses:

{% include 'includes/whitelist-ip.md' %}

## BigQuery scoring {: #bigquery-scoring }

To use BigQuery for scoring, supply data source details using the  **[Predictions > Job Definitions](batch-pred-jobs#set-up-prediction-sources)** tab or the [Batch Prediction API](batch-prediction-api/index) (`intakeSettings`) as described in the table below.

| UI field |  Parameter   | Example |  Description  |
|----------|--------------|----------------|----------|
| Source type | `type` | `bigquery` | Use the BigQuery API to unload data to Google Cloud Storage and use it as intake. |
| Dataset |  `dataset` | `my_dataset` | The BigQuery dataset to use. |
| Table | `table` | `my_table` | The BigQuery table or view from the dataset used as intake. |
| Bucket | `bucket` | `my-bucket-in-gcs` | Bucket where data should be exported. |
| + Add credentials | `credentialId` | `5e4bc5555e6e763beb488dba` | Required if explicit access credentials for this bucket are required (otherwise optional).<br><br>In the UI, enable the **+ Add credentials** field by selecting **This connection requires credentials**. Refer to [storing credentials securely](batch-prediction-api/index#store-credentials-securely).   |

Refer to the [example section](pred-examples#end-to-end-scoring-with-bigquery) for a complete API example.

## Snowflake scoring {: #snowflake-scoring }

Using JDBC to transfer data can be costly in terms of IOPS (input/output operations per second) and expense for data warehouses. This adapter reduces the load on database engines during prediction scoring by using cloud storage and bulk insert to create a hybrid JDBC-cloud storage solution.

Supply data source details using the  **[Predictions > Job Definitions](batch-pred-jobs#set-up-prediction-sources)** tab or the [Batch Prediction API](batch-prediction-api/index) (`intakeSettings`) as described in the table below.

|  UI field | Parameter   | Example |  Description  |
|-----------|-------------|---------|---------------|
|  Source type | `type` |  `snowflake` |   Adapter type. |
|  + Select connection | `dataStoreId` |  `5e4bc5b35e6e763beb9db14a` | ID of Snowflake data source. In the UI, select a Snowflake data connection or click [add a new data connection](data-conn#add-data-sources). Complete account and authorization fields. |
|  Enter credentials | `credentialId `  |  `5e4bc5555e6e763beb9db147` |   ID of a stored credential containing username and password for Snowflake. |
| Tables | `table`  | `SCORING_DATA`  |   Optional. Name of the Snowflake table containing data to be scored. |
| Schemas | `schema` |  `PUBLIC` |   Optional. Name of the schema containing the table to be scored. |
|  SQL query | `query` | ` SELECT feature1, feature2, feature3 FROM diabetes`  |   Optional. Custom query to run against the database. |
| Cloud storage type | `cloudStorageType` |  `s3`  |  Type of cloud storage backend used in Snowflake external stage. Can be one of 3 cloud storage providers: `s3`/`azure`/`gcp`. Default is `s3` |
| External stage | `externalStage` |  `my_s3_stage` |  [Snowflake external stage](https://docs.snowflake.com/en/sql-reference/sql/create-stage.html){ target=_blank }. In the UI, toggle on **Use external stage** to enable the **External stage** field.  |
|  + Add credentials | `cloudStorageCredentialId`  |  `6e4bc5541e6e763beb9db15c` |   ID of stored credentials for a storage backend (S3/Azure/GCS) used in Snowflake stage. In the UI, enable the **+ Add credentials** field by selecting **This URL requires credentials**. |

Refer to the [example section](pred-examples#end-to-end-scoring-with-snowflake) for a complete API example.

## Synapse scoring {: #synapse-scoring }

To use Synapse for scoring, supply data source details using the  **[Predictions > Job Definitions](batch-pred-jobs#set-up-prediction-sources)** tab or the [Batch Prediction API](batch-prediction-api/index) (`intakeSettings`) as described in the table below.

| UI field |  Parameter   | Example |  Description  |
|----------|--------------|----------------|----------|
| Source type | `type`  |  `synapse`  |   Adapter type.  |
| + Select connection | `dataStoreId`  |  `5e4bc5b35e6e763beb9db14a`  |   ID of Synapse data source.  In the UI, select a Synapse data connection or click [add a new data connection](data-conn#add-data-sources). Complete account and authorization fields.|
| External data source | `externalDatasource`   |  `my_data_source` | [Name of the Synapse external data source](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/reference-collation-types){ target=_blank }. |
| Tables | `table ` |  `SCORING_DATA` |   Optional. Name of the Synapse table containing data to be scored. |
| Schemas | `schema`  | `dbo` | Optional. Name of the schema containing the table to be scored. |
| SQL query | `query` |  `SELECT feature1, feature2, feature3 FROM diabetes`  |   Optional. Custom query to run against the database.|
| Enter credentials |  `credentialId` |  `5e4bc5555e6e763beb9db147` | ID of a stored credential containing username and password for Synapse. Credentials are required if explicit access credentials for this URL are required, otherwise optional. Refer to [storing credentials securely](batch-prediction-api/index#store-credentials-securely). |
|  + Add credentials | `cloudStorageCredentialId`  |  `6e4bc5541e6e763beb9db15c` | ID of a stored credential for Azure Blob storage. In the UI, enable the **+ Add credentials** field by selecting **This external data source requires credentials**. |

Refer to the [example section](pred-examples#end-to-end-scoring-with-synapse) for a complete API example.

!!! note
    Synapse supports fewer collations than the default Microsoft SQL Server. For more information, reference the [Synapse documentation](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/reference-collation-types){ target=_blank }.