Los tipos unificados son los tipos de datos que aparecen en los eventos de Avro o JSON. Son una representación unificada y específica de Datastream de un tipo de datos en múltiples fuentes y destinos de datos que admite Datastream.
Los tipos unificados son el superconjunto de todas las representaciones de tipos en todos los tipos de fuentes admitidos, que representan el tipo de fuente original de una manera genérica, pero sin pérdidas.
En las siguientes tablas, se indican los siguientes datos:
- Los tipos unificados asociados con Datastream
- Las asignaciones entre los tipos de datos de Oracle, MySQL, SQL Server, PostgreSQL y Salesforce (versión preliminar) y los tipos unificados de Datastream
Consulta la documentación del destino de BigQuery para obtener información sobre las asignaciones entre los tipos de datos de las diferentes fuentes y BigQuery.
Tipos unificados de Datastream
Nombre del tipo | Info | Definición de Avro | Definición de JSON |
---|---|---|---|
BOOLEAN |
booleana | booleana | booleana |
BYTES |
Una secuencia de bytes sin signo | bytes | string |
DATE |
Cantidad de días desde la época | Un tipo lógico de fecha | string [ISO-8601] |
DATETIME |
La fecha (en días desde el ciclo de entrenamiento) y la hora (en microsegundos desde la medianoche) | Un tipo personalizado { "type": "record", "name": "datetime", "fields": [ {"name": "date", "type": "int", "logicalType": "date"}, {"name": "time", "type": "long", "logicalType": "time-micros"} ] } |
string [ISO-8601] |
DECIMAL (p,s) |
Número decimal con signo y precisión arbitraria | Un tipo lógico decimal | número |
DOUBLE |
Números de punto flotante de 64 bits | double | número |
FLOAT |
Números de punto flotante de 32 bits | float | número |
INTEGER |
Un número entero de 32 bits. | int | número |
INTERVAL |
Duración entre dos eventos (en meses, horas y microsegundos) | Un tipo personalizado { "type": "record", "name": "interval", "fields": [ {"name": "months", "type": "int"} {"name": "hours", "type": "int"}, {"name": "micros", "type": "long"} ] } |
string [ISO-8601] |
JSON |
Un objeto JSON | Un tipo lógico personalizado { "type": "string", "logicalType": "json" } |
JSON anidado |
LONG |
Un número entero de 64 bits. | long | número |
NUMBER |
Un tipo de datos numéricos | Un tipo lógico personalizado { "type": "string", "logicalType": "number" } |
string |
STRING |
Una longitud de cadena ilimitada | string | string |
TIME |
Cantidad de microsegundos transcurridos desde la medianoche, independientemente de la zona horaria. | Un tipo lógico time-micros | string [ISO-8601] |
TIME_INTERVAL |
Cantidad de microsegundos transcurridos entre dos eventos | Un tipo lógico personalizado { "type": "long", "logicalType": "time-interval-micros" } |
long |
TIMESTAMP |
Cantidad de microsegundos transcurridos desde la época, independientemente de la zona horaria | Un tipo lógico de marca de tiempo | string [ISO-8601] |
TIMESTAMP WITH TIME ZONE |
Cuántos microsegundos transcurrieron desde la época con un desplazamiento de zona horaria específico en milisegundos | Un tipo personalizado { "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 |
Cuántos microsegundos transcurrieron desde la medianoche con un desplazamiento de zona horaria específico | Un tipo personalizado { "type": "record", "name": "timeTz", "fields": [ {"name": "time", "type": "long" "logicalType": "time-micros"}, {"name": "offset", "type": "int", "logicalType": "time-millis"} ] } |
string [ISO-8601] |
UNION |
Un tipo de datos variable | Unión | array |
UNSUPPORTED |
Un tipo de datos no admitido | Un tipo lógico personalizado { "type": "null", "logicalType": "unsupported" } |
null |
VARCHAR |
Una string con una longitud máxima de n caracteres | Un tipo lógico personalizado { "type": "string", "logicalType": "varchar" "length": N } |
string |
Asigna tipos de datos de Oracle a tipos unificados de Datastream
Tipo de datos de Oracle | Tipo unificado de 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) |
Si p<=18, entonces |
NUMBER(p,s>0) |
Si p= |
NVARCHAR2 |
STRING |
RAW |
STRING |
ROWID |
STRING |
SDO_GEOMETRY |
UNSUPPORTED |
SMALLINT |
INTEGER |
TIMESTAMP |
TIMESTAMP
|
TIMESTAMP WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE
|
UDT (tipo definido por el usuario) |
UNSUPPORTED |
UROWID |
UNSUPPORTED |
VARCHAR |
VARCHAR |
VARCHAR2 |
VARCHAR |
XMLTYPE |
UNSUPPORTED |
Asigna tipos de datos de MySQL a tipos unificados de Datastream
Tipo de datos de MySQL | Tipo unificado de Datastream |
---|---|
BIGINT(size) SIGNED |
LONG |
BIGINT(size) UNSIGNED |
Si el destino es BigQuery, entonces DECIMAL ; si es Cloud Storage, entonces NUMBER |
BINARY(size) |
STRING (hex encoded) |
BIT(size) |
LONG |
BLOB(size) |
STRING (hex encoded) |
BOOL |
INTEGER |
CHAR(size) |
STRING |
DATE |
Si el destino es BigQuery, entonces DATE ; si es Cloud Storage, entonces TIMESTAMP |
DATETIME(fsp) |
Si el destino es BigQuery, entonces DATETIME ; si es Cloud Storage, entonces 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 |
Si el destino es BigQuery, entonces JSON ; si es Cloud Storage, entonces 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) |
Si el destino es BigQuery, entonces INTERVAL ; si es Cloud Storage, entonces TIME_INTERVAL |
TIMESTAMP(fsp) |
TIMESTAMP |
TINYBLOB |
STRING (hex encoded) |
TINYINT(size) |
INTEGER |
TINYTEXT |
STRING |
VARBINARY(size) |
STRING (hex encoded) |
VARCHAR |
STRING |
YEAR |
INTEGER |
Asigna tipos de datos de PostgreSQL a tipos unificados de Datastream
Tipo de datos de PostgreSQL | Tipo unificado de 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 |
Asigna tipos de datos de SQL Server a tipos unificados de Datastream
Tipo de datos de SQL Server | Tipo unificado de 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 |
Asigna tipos de datos de Salesforce a tipos unificados de Datastream
Salesforce admite dos tipos de datos:
Asignaciones de tipos de datos básicos
Tipo de datos de Salesforce | Tipo unificado de Datastream |
---|---|
BOOLEAN |
BOOLEAN |
BYTE |
BYTES |
DATE |
Si el destino es BigQuery, entonces DATE ; si es Cloud Storage, entonces TIMESTAMP |
DATETIME |
Si el destino es BigQuery, entonces DATETIME ; si es Cloud Storage, entonces TIMESTAMP |
DOUBLE |
DOUBLE |
INT |
INTEGER |
STRING |
STRING |
TIME |
TIME |
Asignaciones de tipos de datos de campos
Tipo de datos de Salesforce | Tipo unificado de Datastream |
---|---|
ADDRESS |
Los subcampos de este campo compuesto se replican con sus respectivos tipos de datos. |
ANYTYPE
(puede ser |
STRING |
COMBOBOX |
STRING |
CURRENCY |
DOUBLE |
DATACATEGORYGROUPREFERENCE |
STRING |
EMAIL |
STRING |
ENCRYPTEDSTRING |
STRING |
GEOLOCATION |
Los subcampos de este campo compuesto se replican con sus respectivos tipos de datos. |
ID |
STRING |
JUNCTIONIDLIST |
STRING |
MASTERRECORD |
STRING |
MULTIPICKLIST |
STRING |
PERCENT |
DOUBLE |
PHONE |
STRING |
PICKLIST |
STRING |
REFERENCE |
STRING |
TEXTAREA |
STRING |
URL |
STRING |
Tipos de datos de MongoDB
Cada documento de MongoDB se escribe como un tipo unificado JSON
en Datastream.
Para ver ejemplos de cómo se escriben los tipos de datos en BigQuery, consulta Configura un destino de BigQuery.
¿Qué sigue?
- Para obtener más información sobre cómo configurar una fuente de Oracle, consulta Configura una base de datos de Oracle de origen.
- Si deseas obtener más información para configurar una fuente de MySQL, consulta Configura una base de datos de MySQL de origen.
- Para obtener más información sobre cómo configurar una fuente de PostgreSQL, consulta Configura una base de datos de PostgreSQL de origen.
- Para obtener más información sobre cómo configurar una fuente de SQL Server, consulta Configura una base de datos de origen de SQL Server.
- Para obtener más información sobre cómo configurar una fuente de Salesforce, consulta Configura una organización de Salesforce de origen.
- Para obtener más información sobre cómo configurar una fuente de MongoDB, consulta Configura una base de datos de MongoDB de origen.