This table lists how Etlworks maps JDBC source types to Databricks Delta types when auto-creating a destination table.
| JDBC source type | Databricks type | Notes |
|---|---|---|
| CHAR, VARCHAR, LONGVARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR | STRING | Databricks does not enforce a fixed-length CHAR; all string types map to STRING. |
| CLOB, NCLOB, SQLXML | STRING | Maximum literal size 10 MB. |
| BIT, BOOLEAN | BOOLEAN | |
| TINYINT | TINYINT | |
| SMALLINT | SMALLINT | |
| INTEGER | INT | |
| BIGINT | BIGINT | |
| REAL | FLOAT | |
| FLOAT, DOUBLE | DOUBLE | |
| DECIMAL(p, s), NUMERIC(p, s) | DECIMAL(p, s) | Defaults to DECIMAL(38, 18) when precision / scale are not specified. |
| DATE | DATE | |
| TIME | TIMESTAMP | Databricks has no dedicated TIME type; time-of-day values are stored as TIMESTAMP. |
| TIMESTAMP, TIMESTAMP_WITH_TIMEZONE | TIMESTAMP | |
| BINARY, VARBINARY, LONGVARBINARY, BLOB | BINARY | |
| ARRAY, STRUCT, OTHER, JAVA_OBJECT | STRING | Fallback when the source type has no direct Delta equivalent. |
To override these defaults for a specific connection, use the Data Type Overrides field on the Databricks connection. See Override data types when creating or altering tables.
For complete control over the generated CREATE TABLE / ALTER TABLE SQL, use the Override Create and Alter Table SQL JavaScript hook. See Override CREATE and ALTER TABLE SQL.
Databricks-specific notes
- All tables auto-created by Etlworks use USING DELTA.
- The default for Create temp tables with only TEXT columns on Databricks flows is true — staging tables are created as all-STRING, then values are cast during COPY INTO. This is a deliberate schema-drift resilience choice and is unusual relative to other warehouse integrations.
- NOT NULL constraints are not emitted by the auto-create logic.
- Unity Catalog 3-part names (catalog.schema.table) are supported anywhere a table name is accepted.