Los tipos unificados son los tipos de datos que aparecen en los eventos Avro o JSON. Son una representación unificada y específica de Datastream de un tipo de datos en varios orígenes y destinos de datos que admite Datastream.
Los tipos unificados son el superconjunto de todas las representaciones de tipos de todos los tipos de origen admitidos, que representan el tipo de origen original de forma genérica, pero sin pérdida.
En las siguientes tablas se indica lo siguiente:
- Los tipos unificados asociados a Datastream
- Las asignaciones entre los tipos de datos de Oracle, MySQL, SQL Server, PostgreSQL y Salesforce (vista previa) y los tipos unificados de Datastream
Consulta la documentación sobre el 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
Escribe el nombre | Información | Definición de Avro | Definición de JSON |
---|---|---|---|
BOOLEAN |
booleano | booleano | booleano |
BYTES |
Una secuencia de bytes sin signo | bytes | cadena |
DATE |
Días desde el inicio del registro de tiempo | Tipo lógico de fecha | cadena [ISO-8601] |
DATETIME |
La fecha (en días desde el inicio del registro de tiempo) 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"} ] } |
cadena [ISO-8601] |
DECIMAL (p,s) |
Número decimal con signo de precisión arbitraria | Un tipo lógico decimal | número |
DOUBLE |
Números de punto flotante de 64 bits | doble | número |
FLOAT |
Números de punto flotante de 32 bits | flotante | número |
INTEGER |
Un 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"} ] } |
cadena [ISO-8601] |
JSON |
Un objeto JSON | Un tipo lógico personalizado { "type": "string", "logicalType": "json" } |
JSON anidado |
LONG |
Un entero de 64 bits | long | número |
NUMBER |
Un tipo de datos numérico | Un tipo lógico personalizado { "type": "string", "logicalType": "number" } |
cadena |
STRING |
Una longitud de cadena ilimitada | cadena | cadena |
TIME |
Número de microsegundos transcurridos desde la medianoche, independientemente de la zona horaria. | Un tipo lógico de tiempo-micros | cadena [ISO-8601] |
TIME_INTERVAL |
Número de microsegundos transcurridos entre dos eventos. | Un tipo lógico personalizado { "type": "long", "logicalType": "time-interval-micros" } |
long |
TIMESTAMP |
Número de microsegundos transcurridos desde el inicio del registro de tiempo, independientemente de la zona horaria. | Un tipo lógico de marca de tiempo | cadena [ISO-8601] |
TIMESTAMP WITH TIME ZONE |
Número de microsegundos transcurridos desde el inicio del registro de tiempo con un desfase horario 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"} ] } |
cadena [ISO-8601] |
TIME WITH TIME ZONE |
Número de microsegundos transcurridos desde la medianoche con una diferencia horaria específica. | Un tipo personalizado { "type": "record", "name": "timeTz", "fields": [ {"name": "time", "type": "long" "logicalType": "time-micros"}, {"name": "offset", "type": "int", "logicalType": "time-millis"} ] } |
cadena [ISO-8601] |
UNSUPPORTED |
Un tipo de datos no admitido | Un tipo lógico personalizado { "type": "null", "logicalType": "unsupported" } |
null |
VARCHAR |
Una cadena con una longitud máxima de n caracteres | Un tipo lógico personalizado { "type": "string", "logicalType": "varchar" "length": N } |
cadena |
Asignar 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 s |
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 |
Asignar 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, DECIMAL ; si es Cloud Storage, 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, DATE ; si es Cloud Storage, TIMESTAMP |
DATETIME(fsp) |
Si el destino es BigQuery, DATETIME ; si es Cloud Storage, 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, JSON ; si es Cloud Storage, 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, INTERVAL ; si es Cloud Storage, TIME_INTERVAL |
TIMESTAMP(fsp) |
TIMESTAMP |
TINYBLOB |
STRING (hex encoded) |
TINYINT(size) |
INTEGER |
TINYTEXT |
STRING |
VARBINARY(size) |
STRING (hex encoded) |
VARCHAR |
STRING |
YEAR |
INTEGER |
Asignar 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 |
Asignar 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 |
Asignar tipos de datos de Salesforce a tipos unificados de Datastream
Salesforce admite dos tipos de datos:
Asignaciones de tipos de datos primitivos
Tipo de datos de Salesforce | Tipo unificado de Datastream |
---|---|
BOOLEAN |
BOOLEAN |
BYTE |
BYTES |
DATE |
Si el destino es BigQuery, DATE ; si es Cloud Storage, TIMESTAMP |
DATETIME |
Si el destino es BigQuery, DATETIME ; si es Cloud Storage, 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 JSON
tipo unificado en Datastream.
Para ver ejemplos de cómo se escriben los tipos de datos en BigQuery, consulta Configurar un destino de BigQuery.
Siguientes pasos
- Para obtener más información sobre cómo configurar un origen de Oracle, consulta Configurar una base de datos de Oracle de origen.
- Para obtener más información sobre cómo configurar una fuente MySQL, consulta Configurar una base de datos MySQL de origen.
- Para obtener más información sobre cómo configurar una fuente de PostgreSQL, consulte Configurar una base de datos de PostgreSQL de origen.
- Para obtener más información sobre cómo configurar una fuente de SQL Server, consulta el artículo Configurar una base de datos de SQL Server de origen.
- Para obtener más información sobre cómo configurar una fuente de Salesforce, consulta Configurar una organización de Salesforce de origen.
- Para obtener más información sobre cómo configurar una fuente de MongoDB, consulta Configurar una base de datos de MongoDB de origen.