Azure Synapse SQL Bulk Load
Overview
You can use this Snap to perform a bulk load operation from an external location to the target table. The input data is first written to a temporary data file and is loaded from the data file into the target table.

- This is a Write-type Snap.
Does not support Ultra Tasks
Prerequisites
- The SQL Server JDBC driver is required in the Azure SQL database account.
Limitations
When the table name contains single quote characters, the No table found error is displayed. This is because of the JDBC driver limitation.
Known issues
None.
Snap views
| Type | Description | Examples of upstream and downstream Snaps |
|---|---|---|
| Input |
A document containing the data to be bulk loaded into the table. |
|
| Output |
Document containing the success message of the bulk load operation. |
|
| Learn more about Error handling. | ||
Snap settings
- Expression icon (
): Allows using pipeline parameters to set field values dynamically (if enabled). SnapLogic Expressions are not supported. If disabled, you can provide a static value.
- SnapGPT (
): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
- Suggestion icon (
): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
- Upload
: Uploads files. Learn more.
| Field/Field set | Description | ||
|---|---|---|---|
| Label
|
Required.Specify a unique name for the Snap. Default value: Azure Synapse SQL - Bulk Load Example: Bulk_Load |
||
| Schema Name
|
Specify the database schema name. In case it is not defined, then the suggestion for the table name retrieves all tables names of all schemas. The property is suggestible and retrieves available database schemas during suggest values. Default value: None Example: SYS |
||
| Table Name
|
Required.Specify the table name or select the table from the suggestion list to load the incoming data into. Default value: None Example: users |
||
| Data Source
|
Select either of the following sources from where the data must load:
Important: When the Data Source is Input View:
Default value: Input View Example: External Source |
||
| Create table if not present
|
Appears only when you select Input view for Data Source. Select this checkbox to create the target table if it does not exist. Otherwise, the system displays the "table not found" error. Important:
If a target table does not exist when the Snap tries to do the bulk load, and if you select this checkbox, the Snap creates the table with the columns and data types. If you want a table to be created with the same schema as a source table, you can include a second input view for this Snap. This view can be used to pass metadata about the table, effectively allowing you to replicate a table from one database to another. The table metadata document that is read in by the second input view contains a dump of the JDBC DatabaseMetaData class. The document can be manipulated to affect the CREATE TABLE statement that is generated by this Snap. For example, to rename the name column to full_name, you can use a Mapper Snap that sets the path The Snap does not automatically fix the errors encountered during table creation, because it may require user intervention to resolve correctly. For example, if the source table contains a column with a type that does not have a direct mapping in the target database, Snap fails to execute. In such a case, add a Mapper Snap to change the metadata document to explicitly set the values required to produce a valid CREATE TABLE statement. Default value: Deselected |
||
| Purge files
|
Appears only when you select External storage for Data Source. Select this checkbox if you want to purge the data files automatically from the external storage after the data is loaded successfully. Warning:
Default value: Deselected Example: Selected |
||
| Table Column Settings
Use this field set to define columns to map the source data to the columns in the target table. The source data can be either from the input view or external storage. |
|||
| Column Name
|
Specify the column name in the target table. Default value: N/A Example: $first_name |
||
| Default Value
|
Specify the default value that replaces null value if any in the input file. Default value: N/A Example: new |
||
| Source Column Position
|
Appears only when you select External storage for Data Source. Specify the position of the column for the source file within a row. Default value: None Example: Second |
||
| Add Quotes
|
Select this checkbox to enclose default value in quotes. Default value: Deselected |
||
| File List
Appears only when you select External source for Data Source. |
|||
| File
|
Appears only when you select External source for Data Source. Use this fieldset to specify the list of files that must be loaded to the target table. Specify the file to be loaded to the target table. |
||
| File Name Pattern
|
Appears only when you select External source for Data Source. Specify an expression or string that indicates the absolute path of the file names to match the files in the external location. |
||
| File Format Type
|
Appears only when you select External source for Data Source. Choose one of the following file format types to load data into the target table or unload data from the target table:
Note: When the file format type is PARQUET or ORC and you specify the FILE_FORMAT in the Copy Arguments fieldset, the Snap overrides the FILE TYPE.
|
||
| Copy Arguments | |||
| With
|
Use this fieldset to configure the list of arguments that you want the Snap to generate for the copy command. Specify the list of arguments to be used when loading the data. For example, the argument When the Data Source is Input View, this Snap suggests few copy arguments that allows you to configure the arguments. The Snap uses default values for the following properties (as shown below) to prepare the external stage file:
Warning: Changes to the Snap's above-mentioned default values may result in failures with the bulk operation.
Default value: None Example: ENCODING={'UTF8'|'UTF18'} |
||
| Parallel Transfer Options
This property enables faster loading of data. |
|||
| Max Concurrency
|
Required.Specify the maximum number of parallel requests that are to be issued at a given time as part of a single parallel transfer. Default value: 5 Example: 10 |
||
| Block Size (MB)
|
Required.Specify the size of data that must be chunked to transfer at a time. Default value: 2 Example: 6 |
||
|
Snap execution Dropdown list
|
Choose one of the three modes in
which the Snap executes. Available options are:
Default value: Execute only Example: Validate & execute |
||