Ringkasan
Jenis terpadu adalah jenis data yang muncul di peristiwa Avro atau JSON. Library ini adalah representasi terpadu khusus Datastream dari suatu jenis data di berbagai sumber data dan tujuan, seperti database Oracle sumber, database MySQL, atau database PostgreSQL, dan tujuan BigQuery atau Cloud Storage.
Jenis terpadu adalah superset dari semua representasi jenis di semua jenis sumber yang didukung, yang mewakili jenis sumber asli dengan cara umum tetapi lossless.
Daftar tabel berikut:
- Jenis terpadu yang terkait dengan Datastream
- Pemetaan antara jenis data untuk database Oracle, database MySQL, atau database PostgreSQL, dan jenis terpadu Datastream
Lihat dokumentasi tujuan BigQuery untuk mendapatkan informasi tentang pemetaan antara jenis data untuk berbagai sumber dan BigQuery.
Jenis datastream terpadu
Ketik nama | Info | Definisi Avro | Definisi JSON |
---|---|---|---|
BOOLEAN |
boolean | boolean | boolean |
BYTES |
Urutan byte yang tidak ditandatangani | byte | string |
DATE |
Hari sejak epoch | Jenis logika tanggal | string [ISO-8601] |
DATETIME |
Tanggal (dalam hari sejak epoch) dan waktu (dalam mikrodetik sejak tengah malam) | Jenis kustom { "type": "record", "name": "datetime", "fields": [ {"name": "date", "type": "int", "logicalType": "date"}, {"name": "time", "type": "long", "logicalType": "time-micros"} ] } |
string [ISO-8601] |
DECIMAL (p,s) |
Angka desimal yang ditandai dengan presisi arbitrer | Jenis logika desimal | angka |
DOUBLE |
Bilangan floating point 64-bit | double | angka |
FLOAT |
Bilangan floating point 32 bit | float | angka |
INTEGER |
Bilangan bulat 32-bit | int | angka |
INTERVAL |
Durasi antara dua peristiwa (dalam bulan, jam, dan mikrodetik) | Jenis kustom { "type": "record", "name": "interval", "fields": [ {"name": "months", "type": "int"} {"name": "hours", "type": "int"}, {"name": "micros", "type": "long"} ] } |
string [ISO-8601] |
JSON |
Objek JSON | Jenis logika kustom { "type": "string", "logicalType": "json" } |
JSON bertingkat |
LONG |
Bilangan bulat 64-bit | long | angka |
NUMBER |
Suatu tipe data numerik | Jenis logika kustom { "type": "string", "logicalType": "number" } |
string |
STRING |
Panjang {i>string<i} tidak terbatas | string | string |
TIME |
Jumlah mikrodetik yang berlalu sejak tengah malam, terlepas dari zona waktunya. | Jenis logika time-micros | string [ISO-8601] |
TIME_INTERVAL |
Jumlah mikrodetik yang berlalu di antara dua peristiwa | Jenis logika kustom { "type": "long", "logicalType": "time-interval-micros" } |
long |
TIMESTAMP |
Jumlah mikrodetik yang berlalu sejak epoch, terlepas dari zona waktunya | Jenis logis stempel waktu | string [ISO-8601] |
TIMESTAMP WITH TIME ZONE |
Jumlah mikrodetik yang berlalu sejak epoch dengan selisih zona waktu tertentu dalam milidetik | Jenis kustom { "type": "record", "name": "timestampTz", "fields": [ {"name": "timestamp", "type": "long" "logicalType": "timestamp-micros"}, {"name": "offset", "type": "int" "logicalType": "time-millis"} ] } |
string [ISO-8601] |
TIME WITH TIME ZONE |
Jumlah mikrodetik yang berlalu sejak tengah malam dengan selisih zona waktu tertentu | Jenis kustom { "type": "record", "name": "timeTz", "fields": [ {"name": "time", "type": "long" "logicalType": "time-micros"}, {"name": "offset", "type": "int", "logicalType": "time-millis"} ] } |
string [ISO-8601] |
UNION |
Tipe data yang bervariasi | Union | array |
UNSUPPORTED |
Jenis data yang tidak didukung | Jenis logika kustom { "type": "null", "logicalType": "unsupported" } |
null |
VARCHAR |
String dengan panjang maksimum n karakter | Jenis logika kustom { "type": "string", "logicalType": "varchar" "length": N } |
string |
Memetakan jenis data Oracle ke jenis terpadu Datastream
Jenis data Oracle | Jenis datastream terpadu |
---|---|
ANYDATA |
UNSUPPORTED |
BFILE |
STRING |
BINARY DOUBLE |
DOUBLE |
BINARY FLOAT |
FLOAT |
BLOB |
BYTES |
CHAR |
VARCHAR |
CLOB |
STRING |
DATE |
DATETIME
|
DOUBLE PRECISION |
DOUBLE |
FLOAT(p) |
DOUBLE |
INTERVAL DAY TO SECOND |
UNSUPPORTED |
INTERVAL YEAR TO MONTH |
UNSUPPORTED |
LONG/LONG RAW |
UNSUPPORTED |
NCHAR |
STRING |
NCLOB |
STRING |
NUMBER |
NUMBER |
NUMBER(p,s<=0) |
Jika p<=18, maka |
NUMBER(p,s>0) |
Jika p= |
NVARCHAR2 |
STRING |
RAW |
STRING |
ROWID |
STRING |
SDO_GEOMETRY |
UNSUPPORTED |
SMALLINT |
INTEGER |
TIMESTAMP |
TIMESTAMP
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE
|
UDT (jenis yang ditentukan pengguna) |
UNSUPPORTED |
UROWID |
UNSUPPORTED |
VARCHAR |
VARCHAR |
VARCHAR2 |
VARCHAR |
XMLTYPE |
UNSUPPORTED |
Memetakan jenis data MySQL ke jenis terpadu Datastream
Jenis data MySQL | Jenis datastream terpadu |
---|---|
BIGINT(size) |
Jika ditandatangani, maka LONG , jika tidak ditandatangani, maka DECIMAL |
BINARY(size) |
STRING (hex encoded) |
BIT(size) |
LONG |
BLOB(size) |
STRING (hex encoded) |
BOOL |
INTEGER |
CHAR(size) |
STRING |
DATE |
Jika tujuannya adalah BigQuery, DATE , jika Cloud Storage, maka TIMESTAMP |
DATETIME(fsp) |
DATETIME |
DECIMAL(size, d) |
DECIMAL(size, d) |
DOUBLE(size, d) |
DOUBLE |
ENUM(val1, val2, val3, ...) |
STRING |
FLOAT(p) |
FLOAT |
FLOAT(size, d) |
FLOAT |
INTEGER(size) |
INTEGER |
JSON |
JSON
|
LONGBLOB |
STRING (hex encoded) |
LONGTEXT |
STRING (hex encoded) |
MEDIUMBLOB |
STRING (hex encoded) |
MEDIUMINT(size) |
INTEGER |
MEDIUMTEXT |
STRING |
SET(val1, val2, val3, ...) |
STRING |
SMALLINT(size) |
INTEGER |
TEXT(size) |
STRING |
TIME(fsp) |
INTERVAL |
TIMESTAMP(fsp) |
TIMESTAMP |
TINYBLOB |
STRING (hex encoded) |
TINYINT(size) |
INTEGER |
TINYTEXT |
STRING |
VARBINARY(size) |
STRING (hex encoded) |
VARCHAR |
STRING |
YEAR |
INTEGER |
Memetakan jenis data PostgreSQL ke jenis terpadu Datastream
Jenis data PostgreSQL | Jenis datastream terpadu |
---|---|
ARRAY |
JSON
|
BIGINT |
LONG |
BIT |
BYTES |
BIT_VARYING |
BYTES |
BOOLEAN |
BOOLEAN |
BOX |
UNSUPPORTED |
BYTEA |
BYTES |
CHARACTER |
|
CHARACTER_VARYING |
|
CIDR |
STRING |
CIRCLE |
UNSUPPORTED |
CITEXT |
STRING |
DATE |
DATE |
DOUBLE_PRECISION |
DOUBLE |
ENUM |
STRING |
INET |
STRING |
INTEGER |
INTEGER |
INTERVAL |
INTERVAL |
JSON |
JSON |
JSONB |
JSON |
LINE |
UNSUPPORTED |
LSEG |
UNSUPPORTED |
MACADDR |
STRING |
MONEY |
DOUBLE |
NUMERIC |
|
OID |
LONG |
PATH |
UNSUPPORTED |
POINT |
UNSUPPORTED |
POLYGON |
UNSUPPORTED |
REAL |
FLOAT |
SMALLINT |
INTEGER |
SMALLSERIAL |
INTEGER |
SERIAL |
INTEGER |
TEXT |
STRING |
TIME |
TIME |
TIMESTAMP |
TIMESTAMP |
TIMESTAMP_WITH_TIMEZONE |
TIMESTAMP_WITH_TIMEZONE |
TIME_WITH_TIMEZONE |
TIME_WITH_TIMEZONE |
TSQUERY |
STRING |
TSVECTOR |
STRING |
TXID_SNAPSHOT |
STRING |
UUID |
STRING |
XML |
STRING |
Memetakan jenis data SQL Server ke jenis terpadu Datastream
Jenis data SQL Server | Jenis datastream terpadu |
---|---|
BIGINT |
LONG |
BINARY |
BYTES |
BIT |
BOOLEAN |
CHAR |
STRING |
DATE |
DATE |
DATETIME2 |
DATETIME |
DATETIME |
DATETIME |
DATETIMEOFFSET |
TIMESTAMP WITH TIMEZONE |
DECIMAL |
DECIMAL (p, s) |
FLOAT |
DOUBLE |
HIERARCHYID |
STRING |
INT |
INTEGER |
IMAGE |
BYTES |
MONEY |
DECIMAL |
NCHAR |
STRING |
NVARCHAR |
STRING |
NVARCHAR(MAX) |
STRING |
NTEXT |
STRING |
NUMERIC |
DECIMAL (p, s) |
REAL |
FLOAT |
SMALLDATETIME |
DATETIME |
SMALLINT |
INTEGER |
SMALLMONEY |
DECIMAL |
TEXT |
STRING |
TINYINT |
INTEGER |
TIME |
TIME |
TIMESTAMP/ROWVERSION |
BYTES |
UNIQUEIDENTIFIER |
STRING |
VARCHAR |
STRING |
VARCHAR(MAX) |
STRING |
VARBINARY |
BYTES |
VARBINARY(MAX) |
BYTES |
XML |
STRING |