SQL Server → Parquet
Datatypes conversion mapping when exporting from SQL Server (--connectiontype mssql) to Parquet format.
| Source | SQL Server (mssql) |
| Format | Parquet |
| FastBCP | 0.32.2.0 |
| Test Status | PASS (NotNull + Nullable) |
Parquet Schema: testdatatypes_notnull
| name | physical_type | converted_type | logical_type |
|---|---|---|---|
| col_bigint | INT64 | INT_64 | IntType(bitWidth=64, isSigned=1) |
| col_int | INT32 | INT_32 | IntType(bitWidth=32, isSigned=1) |
| 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 | INT64 | DECIMAL | DecimalType(scale=2, precision=18) |
| col_numeric | INT64 | DECIMAL | DecimalType(scale=2, precision=18) |
| col_money | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=4, precision=19) |
| col_smallmoney | INT64 | DECIMAL | DecimalType(scale=4, precision=10) |
| col_float | DOUBLE | — | — |
| col_real | FLOAT | — | — |
| col_date | INT32 | DATE | — |
| col_time | INT64 | TIME_MICROS | TimeType(isAdjustedToUTC=0, unit=MICROS) |
| col_datetime | INT64 | TIMESTAMP_MILLIS | — |
| col_datetime2 | INT64 | TIMESTAMP_MILLIS | — |
| col_datetimeoffset | BYTE_ARRAY | UTF8 | StringType() |
| col_smalldatetime | INT64 | TIMESTAMP_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_sql_variant | BYTE_ARRAY | UTF8 | StringType() |
| col_geography | BYTE_ARRAY | UTF8 | StringType() |
| col_geometry | BYTE_ARRAY | UTF8 | StringType() |
Parquet Schema: testdatatypes_nullable
| name | physical_type | converted_type | logical_type |
|---|---|---|---|
| col_bigint | INT64 | INT_64 | IntType(bitWidth=64, isSigned=1) |
| col_int | INT32 | INT_32 | IntType(bitWidth=32, isSigned=1) |
| 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 | INT64 | DECIMAL | DecimalType(scale=2, precision=18) |
| col_numeric | INT64 | DECIMAL | DecimalType(scale=2, precision=18) |
| col_money | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=4, precision=19) |
| col_smallmoney | INT64 | DECIMAL | DecimalType(scale=4, precision=10) |
| col_float | DOUBLE | — | — |
| col_real | FLOAT | — | — |
| col_date | INT32 | DATE | — |
| col_time | INT64 | TIME_MICROS | TimeType(isAdjustedToUTC=0, unit=MICROS) |
| col_datetime | INT64 | TIMESTAMP_MILLIS | — |
| col_datetime2 | INT64 | TIMESTAMP_MILLIS | — |
| col_datetimeoffset | BYTE_ARRAY | UTF8 | StringType() |
| col_smalldatetime | INT64 | TIMESTAMP_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_sql_variant | BYTE_ARRAY | UTF8 | StringType() |
| col_geography | BYTE_ARRAY | UTF8 | StringType() |
| col_geometry | BYTE_ARRAY | UTF8 | StringType() |