Skip to main content

Striim Platform 5.0 documentation

Target data type support & mapping for BigQuery sources

The table below details how Striim maps the data types of a BigQuery source to the data types of a target such as Azure Synapse, BigQuery, Databricks, and so on when you create an application using a wizard with Auto Schema Creation, perform an initial load using Database Reader with Create Schema enabled, or run the schema conversion utility, or when Striim schema evolution creates or alters target tables.

Columns of the STRUCT data type are not supported directly, but if the target table contains individual columns with the same name and data type as the fields in the STRUCT column, it will work. Alternatively, add the parameter FlattenObjects=false to the connection URL, to send STRUCT values as single JSON strings, and map them to a target column that can store JSON strings.

If your screen is not wide enough to display the whole table, click in a cell and drag left to view the right-hand columns.

BigQuery Data Type

Azure Synapse

BigQuery

Databricks

Db2 for z/OS

Fabric Mirror

MariaDB

MySQL

Oracle

PostgreSQL

Snowflake

Spanner

Spanner PG Dialect

SQL Server

Yellowbrick

BIGNUMERIC

varchar(8000)

string

string

numeric

string

TEXT

TEXT

number

numeric(p,s)

VARCHAR

STRING(MAX)

numeric

varchar(8000)

character varying

BIGNUMERIC(p,0)

numeric(p,s), if (p) <= 38, if (s) <= 38

numeric, if (p) <= 29, if (s) <= 9

decimal(p,s), if (p) <= 38, if (s) <= 37

numeric(p,s), if (p) <= 31, if (s) <= 30

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

decimal(p,s), if (p) <= 65, if (s) <= 30

number(p,s), if (p) <= 38, if (s) <= 127

numeric(p,s), if (p) <= 1000, if (s) <= 1000

numeric(p,s), if (p) <= 38, if (s) <= 37

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

numeric(p,s), if (p) <= 38, if (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 38

BIGNUMERIC(p,s)

varchar(8000)

numeric(p,s), if (p) <= 38, if (s) <= 38

string

numeric, if (p) <= 29, if (s) <= 9

string

decimal(p,s), if (p) <= 38, if (s) <= 37

numeric(p,s), if (p) <= 31, if (s) <= 30

string

decimal, if (p) <= 38

TEXT

decimal(p,s), if (p) <= 65, if (s) <= 30

TEXT

decimal(p,s), if (p) <= 65, if (s) <= 30

number(p,s), if (p) <= 38, if (s) <= 127

numeric(p,s), if (p) <= 1000, if (s) <= 1000

numeric(p,s), if (p) <= 38, if (s) <= 37

VARCHAR

NUMERIC, if (p) <= 38, if (s) <= 9

STRING(MAX)

numeric, if (p) <= 131072, if (s) <= 16384

varchar(8000)

numeric(p,s), if (p) <= 38, if (s) <= 38

character varying

decimal(p,s), if (p) <= 38, if (s) <= 38

BOOL

BIT

boolean

boolean

Not supported

boolean

bool

bool

CHAR(5)

boolean

BOOLEAN

BOOL

boolean

BIT

boolean

BYTES

varbinary(8000)

bytes(p)

binary

blob

bytes

varbinary(65535)

varbinary(65535)

BLOB

bytea

VARBINARY

BYTES(MAX)

bytea

varbinary(max)

character varying

BYTES(p)

varbinary(p), if (p) <= 8000

bytes(p), if (p) <= 9223372036854775807

binary

varbinary(4046), if (p) <= 1011

bytes

varbinary(p), if (p) <= 65535

varbinary(p), if (p) <= 65535

BLOB

bytea, if (p) <= 2147483647

VARBINARY

BYTES(p), if (p) <= 10485760

bytea, if (p) <= 1048576

varbinary(p), if (p) <= 8000

character varying(p), if (p) <= 64000

DATE

date

date

date

date

date

date

date

date

date

date

DATE

date

date

date

DATETIME

datetime2

datetime

timestamp

timestamp

timestamp-millis

datetime

datetime

timestamp

timestamp(s) without time zone

datetime

TIMESTAMP

timestamptz

datetime2

timestamp

FLOAT64

float(p)

float64

float

real

double

float(p)

float(p)

float(p)

double precision

float

FLOAT64

float4

float(p)

real

GEOGRAPHY

varchar(p)

string

string

varchar(p)

string

varchar(p)

varchar(p)

VARCHAR2(p)

character varying(p)

VARCHAR(p)

STRING(p)

varchar(p)

varchar(p)

character varying(p)

INT64

bigint

int64

bigint

bigint

long

bigint

bigint

int

bigint

integer

INT64

int

bigint

bigint

INTERVAL

varchar(p)

string

string

varchar(p)

string

varchar(p)

varchar(p)

VARCHAR2(p)

character varying(p)

VARCHAR(p)

STRING(p)

varchar(p)

varchar(p)

character varying(p)

JSON

varchar(8000)

string

string

clob

string

json

json

clob

json

VARIANT

STRING(MAX)

jsonb

varchar(max)

character varying

NUMERIC

numeric(p,s)

bignumeric

decimal(p,s)

numeric

decimal

decimal(p,s)

decimal(p,s)

number(p,s)

numeric(p,s)

numeric(p,s)

NUMERIC

numeric

numeric(p,s)

decimal(p,s)

NUMERIC(p,0)

numeric(p,s), if (p) <= 38, if (s) <= 38

numeric, if (p) <= 29, if (s) <= 9

decimal(p,s), if (p) <= 38, if (s) <= 37

numeric(p,s), if (p) <= 31, if (s) <= 30

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

decimal(p,s), if (p) <= 65, if (s) <= 30

number(p,s), if (p) <= 38, if (s) <= 127

numeric(p,s), if (p) <= 1000, if (s) <= 1000

numeric(p,s), if (p) <= 38, if (s) <= 37

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

numeric(p,s), if (p) <= 38, if (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 38

NUMERIC(p,s)

numeric(p,s), if (p) <= 38, if (s) <= 38

numeric, if (p) <= 29, if (s) <= 9

bignumeric, if 29 <= (p) <= 39, if 9 <= (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 37

numeric(p,s), if (p) <= 31, if (s) <= 30

decimal, if (p) <= 38

decimal(p,s), if (p) <= 65, if (s) <= 30

decimal(p,s), if (p) <= 65, if (s) <= 30

number(p,s), if (p) <= 38, if (s) <= 127

numeric(p,s), if (p) <= 1000, if (s) <= 1000

numeric(p,s), if (p) <= 38, if (s) <= 37

NUMERIC, if (p) <= 38, if (s) <= 9

numeric, if (p) <= 131072, if (s) <= 16384

numeric(p,s), if (p) <= 38, if (s) <= 38

decimal(p,s), if (p) <= 38, if (s) <= 38

STRING

varchar(8000)

string

string

clob(p)

string

longtext

longtext

clob

character varying

VARCHAR

STRING(MAX)

text

varchar(max)

character varying

TIME

time

time

string

time

time-millis

time(s)

time(s)

VARCHAR2(150)

time(s)

time

STRING(150)

varchar(150)

time

time

TIMESTAMP

datetimeoffset

timestamp

timestamp

timestamp with time zone

string

timestamp

timestamp

timestamp with time zone

timestamp(s) with time zone

timestamp with time zone

TIMESTAMP

timestamptz

datetimeoffset

timestamptz