SQL Server (ADBC) → Parquet
Datatypes conversion mapping when exporting from SQL Server using the ADBC connector (--connectiontype adbc_mssql) to Parquet format.
| Source | SQL Server (adbc_mssql) |
| Format | Parquet |
| FastBCP | 1.0.3.0 |
| Test Status | PARTIAL (30/31 NotNull + 30/31 Nullable) |
Failed Types
The following datatype is not supported with the ADBC connector:
SQL_VARIANT— fails for both NOT NULL and NULLABLE columns
Parquet Schema: testdatatypes_notnull
| name | physical_type | converted_type | logical_type |
|---|---|---|---|
| col_bigint | INT64 | — | — |
| col_int | INT32 | — | — |
| col_smallint | INT32 | INT_16 | IntType(bitWidth=16, isSigned=1) |
| col_tinyint | INT32 | UINT_8 | IntType(bitWidth=8, isSigned=0) |
| col_bit | BOOLEAN | — | — |
| col_decimal | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=2, precision=18) |
| col_numeric | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=2, precision=18) |
| col_money | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=4, precision=19) |
| col_smallmoney | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=4, precision=10) |
| col_float | DOUBLE | — | — |
| col_real | FLOAT | — | — |
| col_date | INT32 | DATE | DateType() |
| col_time | INT64 | — | TimeType(isAdjustedToUTC=0, unit=NANOS) |
| col_datetime | INT64 | TIMESTAMP_MILLIS | TimestampType(isAdjustedToUTC=0, unit=MILLIS) |
| col_datetime2 | INT64 | — | TimestampType(isAdjustedToUTC=0, unit=NANOS) |
| col_datetimeoffset | INT64 | — | TimestampType(isAdjustedToUTC=1, unit=NANOS) |
| col_smalldatetime | INT64 | TIMESTAMP_MILLIS | TimestampType(isAdjustedToUTC=0, unit=MILLIS) |
| col_char | BYTE_ARRAY | UTF8 | StringType() |
| col_varchar | BYTE_ARRAY | UTF8 | StringType() |
| col_nchar | BYTE_ARRAY | UTF8 | StringType() |
| col_nvarchar | BYTE_ARRAY | UTF8 | StringType() |
| col_text | BYTE_ARRAY | UTF8 | StringType() |
| col_ntext | BYTE_ARRAY | UTF8 | StringType() |
| col_binary | BYTE_ARRAY | — | — |
| col_varbinary | BYTE_ARRAY | — | — |
| col_image | BYTE_ARRAY | — | — |
| col_uniqueidentifier | BYTE_ARRAY | UTF8 | StringType() |
| col_xml | BYTE_ARRAY | UTF8 | StringType() |
| col_geography | BYTE_ARRAY | — | — |
| col_geometry | BYTE_ARRAY | — | — |
Parquet Schema: testdatatypes_nullable
| name | physical_type | converted_type | logical_type |
|---|---|---|---|
| col_bigint | INT64 | — | — |
| col_int | INT32 | — | — |
| col_smallint | INT32 | INT_16 | IntType(bitWidth=16, isSigned=1) |
| col_tinyint | INT32 | UINT_8 | IntType(bitWidth=8, isSigned=0) |
| col_bit | BOOLEAN | — | — |
| col_decimal | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=2, precision=18) |
| col_numeric | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=2, precision=18) |
| col_money | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=4, precision=19) |
| col_smallmoney | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=4, precision=10) |
| col_float | DOUBLE | — | — |
| col_real | FLOAT | — | — |
| col_date | INT32 | DATE | DateType() |
| col_time | INT64 | — | TimeType(isAdjustedToUTC=0, unit=NANOS) |
| col_datetime | INT64 | TIMESTAMP_MILLIS | TimestampType(isAdjustedToUTC=0, unit=MILLIS) |
| col_datetime2 | INT64 | — | TimestampType(isAdjustedToUTC=0, unit=NANOS) |
| col_datetimeoffset | INT64 | — | TimestampType(isAdjustedToUTC=1, unit=NANOS) |
| col_smalldatetime | INT64 | TIMESTAMP_MILLIS | TimestampType(isAdjustedToUTC=0, unit=MILLIS) |
| col_char | BYTE_ARRAY | UTF8 | StringType() |
| col_varchar | BYTE_ARRAY | UTF8 | StringType() |
| col_nchar | BYTE_ARRAY | UTF8 | StringType() |
| col_nvarchar | BYTE_ARRAY | UTF8 | StringType() |
| col_text | BYTE_ARRAY | UTF8 | StringType() |
| col_ntext | BYTE_ARRAY | UTF8 | StringType() |
| col_binary | BYTE_ARRAY | — | — |
| col_varbinary | BYTE_ARRAY | — | — |
| col_image | BYTE_ARRAY | — | — |
| col_uniqueidentifier | BYTE_ARRAY | UTF8 | StringType() |
| col_xml | BYTE_ARRAY | UTF8 | StringType() |
| col_geography | BYTE_ARRAY | — | — |
| col_geometry | BYTE_ARRAY | — | — |