Einheitliche Typen sind die Datentypen, die in den Avro- oder JSON-Ereignissen angezeigt werden. Sie sind eine Datastream-spezifische, einheitliche Darstellung eines Datentyps über mehrere Datenquellen und ‑ziele hinweg, die von Datastream unterstützt werden.
Bei den einheitlichen Typen handelt es sich um die Obermenge aller Typdarstellungen für alle unterstützten Quelltypen, die den ursprünglichen Quelltyp in allgemeiner, aber verlustfreier Weise darstellen.
In den folgenden Tabellen ist Folgendes aufgeführt:
- Die mit Datastream verknüpften einheitlichen Typen
- Die Zuordnungen zwischen den Datentypen von Oracle, MySQL, SQL Server, PostgreSQL und Salesforce (Vorabversion) und den einheitlichen Datastream-Typen
Informationen zu den Zuordnungen zwischen den Datentypen für die verschiedenen Quellen und BigQuery finden Sie in der Dokumentation zum BigQuery-Ziel.
Einheitliche Datastream-Typen
Typname | Info | Avro-Definition | JSON-Definition |
---|---|---|---|
BOOLEAN |
Boolesch | Boolesch | Boolesch |
BYTES |
Eine Folge nicht signierter Byte | Byte | String |
DATE |
Tage seit der Epoche | Ein logischer Datumstyp | String [ISO-8601] |
DATETIME |
Das Datum (in Tagen seit der Epoche) und die Uhrzeit (in Mikrosekunden seit Mitternacht) | Ein benutzerdefinierter Typ { "type": "record", "name": "datetime", "fields": [ {"name": "date", "type": "int", "logicalType": "date"}, {"name": "time", "type": "long", "logicalType": "time-micros"} ] } |
String [ISO-8601] |
DECIMAL (p,s) |
Vorzeichenbehaftete Dezimalzahl mit beliebiger Genauigkeit | Ein logischer Dezimaltyp | Zahl |
DOUBLE |
64-Bit-Gleitkommazahlen | double | Zahl |
FLOAT |
32-Bit-Gleitkommazahlen | float | Zahl |
INTEGER |
Eine 32-Bit-Ganzzahl | Ganzzahl | Zahl |
INTERVAL |
Dauer zwischen zwei Ereignissen (in Monaten, Stunden und Mikrosekunden) | Ein benutzerdefinierter Typ { "type": "record", "name": "interval", "fields": [ {"name": "months", "type": "int"} {"name": "hours", "type": "int"}, {"name": "micros", "type": "long"} ] } |
String [ISO-8601] |
JSON |
Ein JSON-Objekt | Ein benutzerdefinierter logischer Typ { "type": "string", "logicalType": "json" } |
Verschachteltes JSON |
LONG |
Eine 64-Bit-Ganzzahl | long | Zahl |
NUMBER |
Ein numerischer Datentyp | Ein benutzerdefinierter logischer Typ { "type": "string", "logicalType": "number" } |
String |
STRING |
Eine unbegrenzte Stringlänge | String | String |
TIME |
Anzahl der seit Mitternacht verstrichenen Mikrosekunden, unabhängig von der Zeitzone. | Ein logischer Typ „time-micros“ | String [ISO-8601] |
TIME_INTERVAL |
Anzahl der zwischen zwei Ereignissen verstrichenen Mikrosekunden | Ein benutzerdefinierter logischer Typ { "type": "long", "logicalType": "time-interval-micros" } |
long |
TIMESTAMP |
Anzahl der Mikrosekunden seit der Epoche, unabhängig von der Zeitzone | Ein logischer Zeitstempeltyp | String [ISO-8601] |
TIMESTAMP WITH TIME ZONE |
Wie viele Mikrosekunden seit der Epoche mit einem bestimmten Zeitzonenversatz in Millisekunden vergangen sind | Ein benutzerdefinierter Typ { "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 |
Wie viele Mikrosekunden seit Mitternacht mit einem bestimmten Zeitzonenversatz vergangen sind | Ein benutzerdefinierter Typ { "type": "record", "name": "timeTz", "fields": [ {"name": "time", "type": "long" "logicalType": "time-micros"}, {"name": "offset", "type": "int", "logicalType": "time-millis"} ] } |
String [ISO-8601] |
UNION |
Ein variierender Datentyp | Union | array |
UNSUPPORTED |
Ein nicht unterstützter Datentyp | Ein benutzerdefinierter logischer Typ { "type": "null", "logicalType": "unsupported" } |
null |
VARCHAR |
Ein String mit einer maximalen Länge von n Zeichen | Ein benutzerdefinierter logischer Typ { "type": "string", "logicalType": "varchar" "length": N } |
String |
Oracle-Datentypen den einheitlichen Datastream-Typen zuordnen
Oracle-Datentyp | Einheitlicher Datastream-Typ |
---|---|
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) |
Wenn p<=18, dann |
NUMBER(p,s>0) |
Wenn p= |
NVARCHAR2 |
STRING |
RAW |
STRING |
ROWID |
STRING |
SDO_GEOMETRY |
UNSUPPORTED |
SMALLINT |
INTEGER |
TIMESTAMP |
TIMESTAMP
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE
|
UDT (benutzerdefinierter Typ) |
UNSUPPORTED |
UROWID |
UNSUPPORTED |
VARCHAR |
VARCHAR |
VARCHAR2 |
VARCHAR |
XMLTYPE |
UNSUPPORTED |
MySQL-Datentypen zu einheitlichen Datastream-Typen zuordnen
MySQL-Datentyp | Einheitlicher Datastream-Typ |
---|---|
BIGINT(size) SIGNED |
LONG |
BIGINT(size) UNSIGNED |
Wenn das Ziel BigQuery ist, dann DECIMAL , wenn Cloud Storage, dann NUMBER |
BINARY(size) |
STRING (hex encoded) |
BIT(size) |
LONG |
BLOB(size) |
STRING (hex encoded) |
BOOL |
INTEGER |
CHAR(size) |
STRING |
DATE |
Wenn das Ziel BigQuery ist, dann DATE , wenn Cloud Storage, dann TIMESTAMP |
DATETIME(fsp) |
Wenn das Ziel BigQuery ist, dann DATETIME , wenn Cloud Storage, dann 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 |
Wenn das Ziel BigQuery ist, dann JSON , wenn Cloud Storage, dann 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) |
Wenn das Ziel BigQuery ist, dann INTERVAL , wenn Cloud Storage, dann TIME_INTERVAL |
TIMESTAMP(fsp) |
TIMESTAMP |
TINYBLOB |
STRING (hex encoded) |
TINYINT(size) |
INTEGER |
TINYTEXT |
STRING |
VARBINARY(size) |
STRING (hex encoded) |
VARCHAR |
STRING |
YEAR |
INTEGER |
PostgreSQL-Datentypen zu einheitlichen Datastream-Typen zuordnen
PostgreSQL-Datentyp | Einheitlicher Datastream-Typ |
---|---|
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 |
SQL Server-Datentypen zu einheitlichen Datastream-Typen zuordnen
SQL Server-Datentyp | Einheitlicher Datastream-Typ |
---|---|
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 |
Salesforce-Datentypen den einheitlichen Datastream-Typen zuordnen
Salesforce unterstützt zwei Arten von Datentypen:
Zuordnungen einfacher Datentypen
Salesforce-Datentyp | Einheitlicher Datastream-Typ |
---|---|
BOOLEAN |
BOOLEAN |
BYTE |
BYTES |
DATE |
Wenn das Ziel BigQuery ist, dann DATE , wenn Cloud Storage, dann TIMESTAMP |
DATETIME |
Wenn das Ziel BigQuery ist, dann DATETIME , wenn Cloud Storage, dann TIMESTAMP |
DOUBLE |
DOUBLE |
INT |
INTEGER |
STRING |
STRING |
TIME |
TIME |
Zuordnungen von Felddatentypen
Salesforce-Datentyp | Einheitlicher Datastream-Typ |
---|---|
ADDRESS |
Unterfelder dieses zusammengesetzten Felds werden mit ihren jeweiligen Datentypen repliziert. |
ANYTYPE
(kann |
STRING |
COMBOBOX |
STRING |
CURRENCY |
DOUBLE |
DATACATEGORYGROUPREFERENCE |
STRING |
EMAIL |
STRING |
ENCRYPTEDSTRING |
STRING |
GEOLOCATION |
Unterfelder dieses zusammengesetzten Felds werden mit ihren jeweiligen Datentypen repliziert. |
ID |
STRING |
JUNCTIONIDLIST |
STRING |
MASTERRECORD |
STRING |
MULTIPICKLIST |
STRING |
PERCENT |
DOUBLE |
PHONE |
STRING |
PICKLIST |
STRING |
REFERENCE |
STRING |
TEXTAREA |
STRING |
URL |
STRING |
MongoDB-Datentypen
Jedes MongoDB-Dokument wird als JSON
-Einheitstyp in Datastream geschrieben.
Beispiele dafür, wie Datentypen in BigQuery geschrieben werden, finden Sie unter BigQuery-Ziel konfigurieren.
Nächste Schritte
- Weitere Informationen zum Konfigurieren einer Oracle-Quelle finden Sie unter Oracle-Quelldatenbank konfigurieren.
- Weitere Informationen zum Konfigurieren einer MySQL-Quelle finden Sie unter MySQL-Quelldatenbank konfigurieren.
- Weitere Informationen zum Konfigurieren einer PostgreSQL-Quelle finden Sie unter PostgreSQL-Quelldatenbank konfigurieren.
- Weitere Informationen zum Konfigurieren einer SQL Server-Quelle finden Sie unter SQL Server-Quelldatenbank konfigurieren.
- Weitere Informationen zum Konfigurieren einer Salesforce-Quelle finden Sie unter Salesforce-Quellorganisation konfigurieren.
- Weitere Informationen zum Konfigurieren einer MongoDB-Quelle finden Sie unter MongoDB-Quelldatenbank konfigurieren.