Jenis terpadu adalah jenis data yang muncul dalam peristiwa Avro atau JSON. Jenis data ini adalah representasi terpadu khusus Datastream dari jenis data di beberapa sumber dan tujuan data, 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.
Tabel berikut mencantumkan:
- 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 mengetahui informasi tentang pemetaan antara jenis data untuk berbagai sumber dan BigQuery.
Jenis terpadu Datastream
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) |
Bilangan desimal bertanda 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 |
Jenis data numerik | Jenis logika kustom { "type": "string", "logicalType": "number" } |
string |
STRING |
Panjang string tanpa batas | string | string |
TIME |
Jumlah mikrodetik yang berlalu sejak tengah malam, terlepas dari zona waktu. | Jenis logika time-micros | string [ISO-8601] |
TIME_INTERVAL |
Jumlah mikrodetik yang berlalu antara dua peristiwa | Jenis logika kustom { "type": "long", "logicalType": "time-interval-micros" } |
long |
TIMESTAMP |
Berapa banyak mikrodetik yang berlalu sejak epoch, terlepas dari zona waktu | Jenis logika stempel waktu | string [ISO-8601] |
TIMESTAMP WITH TIME ZONE |
Jumlah mikrodetik yang berlalu sejak epoch dengan offset 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 offset 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 |
Jenis 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 terpadu datastream |
---|---|
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 terpadu datastream |
---|---|
BIGINT(size) SIGNED |
LONG |
BIGINT(size) UNSIGNED |
Jika tujuannya adalah BigQuery, maka DECIMAL , jika Cloud Storage, maka NUMBER |
BINARY(size) |
STRING (hex encoded) |
BIT(size) |
LONG |
BLOB(size) |
STRING (hex encoded) |
BOOL |
INTEGER |
CHAR(size) |
STRING |
DATE |
Jika tujuannya adalah BigQuery, maka DATE , jika Cloud Storage, maka TIMESTAMP |
DATETIME(fsp) |
Jika tujuannya adalah BigQuery, maka DATETIME , jika Cloud Storage, maka TIMESTAMP |
DECIMAL(size, d) |
DECIMAL(size, d) |
DOUBLE(size, d) |
DOUBLE |
ENUM(val1, val2, val3, ...) |
STRING |
FLOAT(p) |
FLOAT |
FLOAT(size, d) |
FLOAT |
GEOMETRY |
UNSUPPORTED |
INTEGER(size) SIGNED |
INTEGER |
INTEGER(size) UNSIGNED |
LONG |
JSON |
Jika tujuannya adalah BigQuery, maka JSON , jika Cloud Storage, maka STRING
|
LONGBLOB |
STRING (hex encoded) |
LONGTEXT |
STRING |
MEDIUMBLOB |
STRING (hex encoded) |
MEDIUMINT(size) |
INTEGER |
MEDIUMTEXT |
STRING |
SET(val1, val2, val3, ...) |
STRING |
SMALLINT(size) |
INTEGER |
TEXT(size) |
STRING |
TIME(fsp) |
Jika tujuannya adalah BigQuery, maka INTERVAL , jika Cloud Storage, maka TIME_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 terpadu datastream |
---|---|
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 |
XID |
STRING |
XID8 |
STRING |
XML |
STRING |
Memetakan jenis data SQL Server ke jenis terpadu Datastream
Jenis data SQL Server | Jenis terpadu datastream |
---|---|
BIGINT |
LONG |
BINARY |
BYTES |
BIT |
BOOLEAN |
CHAR |
STRING |
DATE |
DATE |
DATETIME2 |
DATETIME |
DATETIME |
DATETIME |
DATETIMEOFFSET |
TIMESTAMP WITH TIMEZONE |
DECIMAL |
DECIMAL (p, s) |
FLOAT |
DOUBLE |
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 |
Langkah selanjutnya
- Untuk informasi selengkapnya tentang cara mengonfigurasi sumber Oracle, lihat Mengonfigurasi database Oracle sumber.
- Untuk informasi selengkapnya tentang cara mengonfigurasi sumber MySQL, lihat Mengonfigurasi database MySQL sumber.
- Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi sumber PostgreSQL, lihat Mengonfigurasi database PostgreSQL sumber.
- Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi sumber SQL Server, lihat Mengonfigurasi database SQL Server sumber.