Jenis terpadu adalah jenis data yang muncul dalam peristiwa Avro atau JSON. Jenis data ini adalah representasi terpadu dan khusus Datastream dari jenis data di beberapa sumber dan tujuan data yang didukung Datastream.
Jenis terpadu adalah superset dari semua representasi jenis di semua jenis sumber yang didukung, yang merepresentasikan jenis sumber asli dengan cara umum tetapi lossless.
Tabel berikut mencantumkan:
- Jenis terpadu yang terkait dengan Datastream
- Pemetaan antara jenis data Oracle, MySQL, SQL Server, PostgreSQL, dan Salesforce (Pratinjau) serta jenis data 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 bertanda | 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 tidak terbatas | 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 di antara dua peristiwa | Jenis logika kustom { "type": "long", "logicalType": "time-interval-micros" } |
long |
TIMESTAMP |
Jumlah 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 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 |
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 |
COMPOSITE |
UNSUPPORTED |
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 data 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 |
Memetakan jenis data Salesforce ke jenis data terpadu Datastream
Ada dua jenis tipe data yang didukung Salesforce:
Pemetaan jenis data primitif
Jenis data Salesforce | Jenis terpadu Datastream |
---|---|
BOOLEAN |
BOOLEAN |
BYTE |
BYTES |
DATE |
Jika tujuannya adalah BigQuery, maka DATE , jika Cloud Storage, maka TIMESTAMP |
DATETIME |
Jika tujuannya adalah BigQuery, maka DATETIME , jika Cloud Storage, maka TIMESTAMP |
DOUBLE |
DOUBLE |
INT |
INTEGER |
STRING |
STRING |
TIME |
TIME |
Pemetaan jenis data kolom
Jenis data Salesforce | Jenis terpadu Datastream |
---|---|
ADDRESS |
Sub-kolom dari kolom gabungan ini direplikasi dengan jenis datanya masing-masing |
ANYTYPE
(dapat berupa |
STRING |
COMBOBOX |
STRING |
CURRENCY |
DOUBLE |
DATACATEGORYGROUPREFERENCE |
STRING |
EMAIL |
STRING |
ENCRYPTEDSTRING |
STRING |
GEOLOCATION |
Sub-kolom dari kolom gabungan ini direplikasi dengan jenis datanya masing-masing |
ID |
STRING |
JUNCTIONIDLIST |
STRING |
MASTERRECORD |
STRING |
MULTIPICKLIST |
STRING |
PERCENT |
DOUBLE |
PHONE |
STRING |
PICKLIST |
STRING |
REFERENCE |
STRING |
TEXTAREA |
STRING |
URL |
STRING |
Jenis data MongoDB
Setiap dokumen MongoDB ditulis sebagai jenis terpadu JSON
di Datastream.
Untuk mengetahui contoh cara jenis data ditulis di BigQuery, lihat
Mengonfigurasi tujuan BigQuery.
Langkah berikutnya
- Untuk mengetahui informasi selengkapnya tentang mengonfigurasi sumber Oracle, lihat Mengonfigurasi database Oracle sumber.
- Untuk mengetahui 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.
- Untuk mengetahui informasi selengkapnya tentang mengonfigurasi sumber Salesforce, lihat Mengonfigurasi org Salesforce sumber.
- Untuk mengetahui informasi selengkapnya tentang mengonfigurasi sumber MongoDB, lihat Mengonfigurasi database MongoDB sumber.