Os tipos unificados são os tipos de dados que aparecem nos eventos Avro ou JSON. Eles são uma representação unificada e específica do Datastream de um tipo de dados em várias fontes e destinos compatíveis com o Datastream.
Os tipos unificados são o superconjunto de todas as representações de tipos compatíveis, que representam o tipo de origem original de maneira genérica, mas sem perdas.
A tabela a seguir lista:
- Os tipos unificados associados ao Datastream
 - Os mapeamentos entre os tipos de dados do Oracle, MySQL, SQL Server, PostgreSQL e Salesforce e os tipos unificados do Datastream
 
Consulte a documentação de destino do BigQuery para informações sobre os mapeamentos entre os tipos de dados das diferentes origens e o BigQuery.
Tipos unificados de fluxo de dados
| Nome do tipo | Informações | Definição do Avro | Definição de JSON | 
|---|---|---|---|
BOOLEAN | 
    boolean | boolean | boolean | 
BYTES | 
    Uma sequência de bytes não assinados | bytes | string | 
DATE | 
    Dias desde a época | Um tipo lógico de data | String (ISO 8601) | 
DATETIME | 
    A data (em dias desde o período) e a hora (em microssegundos desde a meia-noite) | Um 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) | 
    Um número decimal com precisão arbitrária | Um tipo lógico decimal | número | 
DOUBLE | 
    números de ponto flutuante de 64 bits | duplo | número | 
FLOAT | 
    números de ponto flutuante de 32 bits | float | número | 
INTEGER | 
    Um número inteiro de 64 bits | int | número | 
INTERVAL | 
    Duração entre dois eventos (em meses, horas e microssegundos) | Um tipo personalizado 
{
  "type": "record",
  "name": "interval",
  "fields": [
    {"name": "months",
     "type": "int"}
    {"name": "hours",
     "type": "int"},
    {"name": "micros",
     "type": "long"}
  ]
}
     | 
    String (ISO 8601) | 
JSON | 
    Um objeto JSON | Um tipo lógico personalizado 
{
  "type": "string",
  "logicalType": "json"
}
 | 
    JSON aninhado | 
LONG | 
    Um número inteiro de 64 bits | long | número | 
NUMBER | 
    Um tipo de dados numéricos | Um tipo lógico personalizado 
{
  "type": "string",
  "logicalType": "number"
}
 | 
    string | 
STRING | 
    Um comprimento de string ilimitado | string | string | 
TIME | 
    Quantos microssegundos se passaram desde a meia-noite, independentemente do fuso horário. | Um tipo lógico time-micros | String (ISO 8601) | 
TIME_INTERVAL | 
    Quantos microssegundos se passaram entre dois eventos | Um tipo lógico personalizado 
{
  "type": "long",
  "logicalType": "time-interval-micros"
}
 | 
    long | 
TIMESTAMP | 
    Quantos microssegundos se passaram desde a época, independentemente do fuso horário | Um tipo lógico de carimbo de data/hora | String (ISO 8601) | 
TIMESTAMP WITH TIME ZONE | 
    Quantos microssegundos se passaram desde o período com uma diferença de fuso horário específica em milissegundos | Um 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 | 
    Quantos microssegundos se passaram desde a meia-noite com uma diferença de fuso horário específica | Um tipo personalizado 
{
  "type": "record",
  "name": "timeTz",
  "fields": [
    {"name": "time",
     "type": "long"
     "logicalType": "time-micros"},
    {"name": "offset",
     "type": "int",
     "logicalType": "time-millis"}
  ]
}
     | 
    String (ISO 8601) | 
UNSUPPORTED | 
    Um tipo de dados não compatível | Um tipo lógico personalizado 
{
  "type": "null",
  "logicalType": "unsupported"
}
 | 
    null | 
VARCHAR | 
    Uma string com comprimento máximo de n caracteres. | Um tipo lógico personalizado 
{
  "type": "string",
  "logicalType": "varchar"
  "length": N
}
 | 
    string | 
Mapear tipos de dados Oracle para tipos unificados do Datastream
| Tipo de dados Oracle | Tipo unificado do 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) | 
  Se p<=18, então   | 
NUMBER(p,s>0) | 
  Se 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 pelo usuário) | 
  UNSUPPORTED | 
UROWID | 
  UNSUPPORTED | 
VARCHAR | 
  VARCHAR | 
VARCHAR2 | 
  VARCHAR | 
XMLTYPE | 
  UNSUPPORTED | 
Mapear tipos de dados MySQL para tipos unificados do Datastream
| Tipo de dados do MySQL | Tipo unificado do Datastream | 
|---|---|
BIGINT(size) SIGNED | 
  LONG | 
BIGINT(size) UNSIGNED | 
  Se o destino for o BigQuery, DECIMAL. Se for o Cloud Storage, NUMBER. | 
BINARY(size) | 
  STRING (hex encoded) | 
BIT(size) | 
  LONG | 
BLOB(size) | 
  STRING (hex encoded) | 
BOOL | 
  INTEGER | 
CHAR(size) | 
  STRING | 
DATE | 
  Se o destino for o BigQuery, DATE. Se for o Cloud Storage, TIMESTAMP. | 
DATETIME(fsp) | 
  Se o destino for o BigQuery, DATETIME. Se for o 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 | 
  Se o destino for o BigQuery, JSON. Se for o 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) | 
  Se o destino for o BigQuery, INTERVAL. Se for o 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 | 
Mapear tipos de dados PostgreSQL para tipos unificados do Datastream
| Tipo de dados do PostgreSQL | Tipo unificado do 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 | 
Mapear tipos de dados do SQL Server para tipos unificados do Datastream
| Tipo de dados do SQL Server | Tipo unificado do 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 | 
Mapear tipos de dados do Salesforce para tipos unificados do Datastream
Há dois tipos de dados compatíveis com o Salesforce:
Mapeamentos de tipo de dados primitivos
| Tipo de dados do Salesforce | Tipo unificado do Datastream | 
|---|---|
BOOLEAN | 
  BOOLEAN | 
BYTE | 
  BYTES | 
DATE | 
  Se o destino for o BigQuery, DATE. Se for o Cloud Storage, TIMESTAMP. | 
DATETIME | 
  Se o destino for o BigQuery, DATETIME. Se for o Cloud Storage, TIMESTAMP. | 
DOUBLE | 
  DOUBLE | 
INT | 
  INTEGER | 
STRING | 
  STRING | 
TIME | 
  TIME | 
Mapeamentos de tipo de dados de campo
| Tipo de dados do Salesforce | Tipo unificado do Datastream | 
|---|---|
ADDRESS | 
  Os subcampos desse campo composto são replicados com os respectivos tipos de dados. | 
ANYTYPE
  (pode ser   | 
  STRING | 
COMBOBOX | 
  STRING | 
CURRENCY | 
  DOUBLE | 
DATACATEGORYGROUPREFERENCE | 
  STRING | 
EMAIL | 
  STRING | 
ENCRYPTEDSTRING | 
  STRING | 
GEOLOCATION | 
  Os subcampos desse campo composto são replicados com os respectivos tipos de dados. | 
ID | 
  STRING | 
JUNCTIONIDLIST | 
  STRING | 
MASTERRECORD | 
  STRING | 
MULTIPICKLIST | 
  STRING | 
PERCENT | 
  DOUBLE | 
PHONE | 
  STRING | 
PICKLIST | 
  STRING | 
REFERENCE | 
  STRING | 
TEXTAREA | 
  STRING | 
URL | 
  STRING | 
Tipos de dados do MongoDB
Cada documento do MongoDB é gravado como um tipo unificado JSON no Datastream.
Para exemplos de como os tipos de dados são gravados no BigQuery, consulte
Configurar um destino do BigQuery.
A seguir
- Para mais informações sobre como configurar uma origem do Oracle, consulte Configurar um banco de dados Oracle de origem.
 - Para mais informações sobre como configurar uma origem do MySQL, consulte Configurar um banco de dados MySQL de origem.
 - Para mais informações sobre como configurar uma origem do PostgreSQL, consulte Configurar um banco de dados PostgreSQL de origem.
 - Para mais informações sobre como configurar uma origem do SQL Server, consulte Configurar um banco de dados de origem do SQL Server.
 - Para mais informações sobre como configurar uma origem do Salesforce, consulte Configurar uma organização de origem do Salesforce.
 - Para mais informações sobre como configurar uma origem do MongoDB, consulte Configurar um banco de dados de origem do MongoDB.