Datatypes Conversion
When FastBCP exports data from a source database, each native column type is mapped to an appropriate type in the target output format (Parquet, CSV, JSON, etc.).
This section documents the exact type mappings produced by FastBCP for every supported source database and output format combination. Each page includes the Parquet schema generated from a comprehensive test table covering all native datatypes — both in NOT NULL and NULLABLE variants.
Supported Sources
| Source | Connection Type | Page |
|---|---|---|
| SQL Server | mssql | Parquet |
| MySQL | mysql | Parquet |
| Oracle | oracle | Parquet |
| PostgreSQL (Standard) | pgsql | Parquet |
| PostgreSQL (COPY) | pgcopy | Parquet |
| SAP HANA | saphana | Parquet |
| Teradata | teradata | Parquet |
How to Read the Tables
Each conversion page contains two Parquet schema tables:
- testdatatypes_notnull — all columns defined as
NOT NULL - testdatatypes_nullable — all columns allow
NULLvalues
The columns in each table are:
| Column | Description |
|---|---|
| name | The column name in the source table |
| physical_type | The Parquet physical storage type (e.g. INT32, INT64, BYTE_ARRAY, BOOLEAN, DOUBLE, FLOAT, FIXED_LEN_BYTE_ARRAY) |
| converted_type | The Parquet converted type annotation (legacy, e.g. UTF8, DECIMAL, DATE, TIMESTAMP_MILLIS) |
| logical_type | The Parquet logical type (modern annotation, e.g. StringType(), DecimalType(scale=2, precision=18), IntType(...)) |
tip
The Parquet schemas for NOT NULL and NULLABLE variants are identical in terms of type mapping. The difference is only in the column's repetition level (REQUIRED vs OPTIONAL), which is not shown in these tables.