O Datastream converte tipos de dados específicos da origem em um conjunto padrão de tipos unificados em eventos de alteração do Avro e do JSON. Os tipos unificados representam o superconjunto de todos os tipos de dados de origem compatíveis para que o Datastream possa replicar dados entre origens e destinos sem perda de dados.
Neste documento, listamos os tipos unificados do Datastream e os mapeamentos de tipos de dados para as seguintes origens:
- Oracle
- MySQL
- PostgreSQL
- SQL Server
- Salesforce
- Workday (Pré-lançamento)
- GoogleSQL do Spanner
- PostgreSQL do Spanner
- ServiceNow (pré-lançamento)
- MongoDB
- Microsoft Dataverse (pré-lançamento)
- Salesforce Marketing Cloud (pré-lançamento)
Para mapeamentos de destino do BigQuery, consulte Mapeamentos de tipo de dados no BigQuery.
Tipos unificados do Datastream
| 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 Era Unix | Um tipo lógico de data | String (ISO 8601) |
DATETIME |
A data (em dias desde o início da era Unix) 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 |
GEOMETRY |
Um objeto de geometria espacial ou geográfico | Um tipo personalizado
{
"type": "record",
"name": "geometry",
"fields": [
{"name": "value",
"type": "bytes"},
{"name": "srid",
"type": "int"},
{"name": "type",
"type": "string"}
]
}
|
JSON aninhado |
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 a época com um deslocamento de fuso horário específico 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 um ajuste de fuso horário específico | 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 do 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 TIME ZONE |
TIMESTAMP WITH TIME ZONE |
TIME WITH TIME ZONE |
TIME WITH TIME ZONE |
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 TIME ZONE |
DECIMAL |
DECIMAL (p, s) |
FLOAT |
DOUBLE |
GEOGRAPHY |
GEOMETRY |
GEOMETRY |
GEOMETRY |
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 tipos 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 |
Mapear tipos de dados do Workday para tipos unificados do Datastream
| Tipo de dados do Workday | Tipo unificado do Datastream |
|---|---|
ARRAYS |
ARRAY |
BASE64BINARY |
BYTES |
BOOLEAN |
BOOLEAN |
COMPLEX TYPES |
JSON |
DATE |
DATE |
DATETIME |
TIMESTAMP |
DECIMAL |
DECIMAL |
STRING |
STRING |
Mapear tipos de dados do Spanner (GoogleSQL) para tipos unificados do Datastream
| Tipo de dados do Spanner | Tipo de dados unificado |
|---|---|
ARRAY |
ARRAY |
BOOL |
BOOLEAN |
BYTES |
BYTES |
DATE |
DATE |
FLOAT32 |
FLOAT |
FLOAT64 |
DOUBLE |
INT64 |
LONG |
JSON |
JSON |
NUMERIC |
NUMBER |
STRING |
STRING |
TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
UUID |
STRING |
PROTO |
UNSUPPORTED |
ENUM |
UNSUPPORTED |
Mapear tipos de dados do Spanner (PostgreSQL) para tipos unificados do Datastream
| Tipo de dados do Spanner | Tipo de dados unificado |
|---|---|
ARRAY |
ARRAY |
BIGINT |
LONG |
BOOL |
BOOLEAN |
BYTEA |
BYTES |
CHARACTER VARYING |
STRING |
DATE |
DATE |
DECIMAL |
NUMBER |
DOUBLE PRECISION |
DOUBLE |
FLOAT8 |
DOUBLE |
INT8 |
LONG |
JSONB |
JSON |
NUMERIC |
NUMBER |
TEXT |
STRING |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP WITH TIME ZONE |
TIMESTAMPTZ |
TIMESTAMP WITH TIME ZONE |
VARCHAR |
STRING |
UUID |
STRING |
Mapear tipos de dados do ServiceNow para tipos unificados do Datastream
| Tipo de dados do ServiceNow | Tipo unificado do Datastream |
|---|---|
action_conditions |
STRING |
approval_rules |
STRING |
audio |
STRING |
auto_increment |
LONG |
auto_number |
STRING |
boolean |
BOOLEAN |
bootstrap_color |
STRING |
breakdown_element |
STRING |
calendar_date_time |
DATETIME |
catalog_preview |
STRING |
char |
STRING |
choice |
STRING |
collection |
STRING |
color |
STRING |
color_display |
STRING |
composite_field |
STRING |
composite_name |
STRING |
compressed |
STRING |
conditions |
STRING |
condition_string |
STRING |
counter |
STRING |
css |
STRING |
currency |
DOUBLE |
currency2 |
JSON |
data_array |
STRING |
data_object |
JSON |
data_structure |
JSON |
date |
STRING |
datetime |
DATETIME |
days_of_week |
STRING |
day_of_week |
INTEGER |
decimal |
DOUBLE |
documentation_field |
STRING |
document_id |
JSON |
domain_id |
JSON |
domain_path |
STRING |
due_date |
DATETIME |
dynamic_attribute_store |
STRING |
email |
STRING |
email_script |
STRING |
expression |
STRING |
external_names |
STRING |
field_list |
STRING |
field_name |
STRING |
file_attachment |
STRING |
float |
DOUBLE |
formula |
STRING |
geo_point |
STRING |
glide_action_list |
STRING |
glide_date |
DATE |
glide_date_time |
DATETIME |
glide_duration |
TIME INTERVAL |
glide_encrypted |
STRING |
glide_list |
STRING |
glide_precise_time |
DATETIME |
glide_time |
DATETIME
|
glide_utc_time |
TIME |
glide_var |
STRING |
glyphicon |
STRING |
graphql_schema |
STRING |
guid |
STRING |
hash |
STRING |
html |
STRING |
html_script |
STRING |
html_template |
STRING |
icon |
STRING |
image |
STRING |
index_name |
STRING |
insert_timestamp |
DATETIME |
int |
INTEGER |
integer |
INTEGER |
integer_date |
DATE |
integer_time |
TIME |
internal_type |
STRING |
ip_addr |
STRING |
ip_address |
STRING |
journal |
STRING |
journal_input |
STRING |
journal_list |
STRING |
json |
JSON |
json_translations |
JSON |
language |
STRING |
le_progress |
STRING |
long |
LONG |
longint |
LONG |
mask_code |
STRING |
metric_absolute |
DOUBLE |
metric_counter |
DOUBLE |
metric_derive |
DOUBLE |
metric_gauge |
DOUBLE |
mid_config |
STRING |
month_of_year |
INTEGER |
multi_small |
STRING |
multi_two_lines |
STRING |
name_values |
JSON |
nds_icon |
STRING |
nl_task_int1 |
INTEGER |
order_index |
INTEGER |
password |
STRING |
password2 |
STRING |
percent_complete |
DOUBLE |
phone_number |
STRING |
phone_number_e164 |
STRING |
ph_number |
STRING |
price |
DOUBLE |
properties |
STRING |
radio |
STRING |
records |
STRING |
record_hierarchy_path |
STRING |
reference |
JSON |
reference_name |
STRING |
related_tags |
STRING |
reminder_field_name |
STRING |
repeat_count |
INTEGER |
repeat_type |
STRING |
replication_payload |
STRING |
schedule_date_time |
TIMESTAMP WITH TIME ZONE |
schedule_interval_count |
INTEGER |
script |
STRING |
script_client |
STRING |
script_plain |
STRING |
script_server |
STRING |
short_field_name |
STRING |
short_table_name |
STRING |
simple_name_values |
JSON |
slushbucket |
STRING |
snapshot_template_value |
STRING |
source_id |
JSON |
source_name |
STRING |
source_table |
STRING |
string |
STRING |
string_boolean |
STRING |
string_full_utf8 |
STRING |
structure |
STRING |
sysevent_name |
STRING |
sysrule_field_name |
STRING |
sys_class_name |
STRING |
sys_class_path |
STRING |
table_name |
STRING |
template_value |
STRING |
timer |
TIME INTERVAL |
time |
TIME |
translated |
STRING |
translated_field |
STRING |
translated_html |
STRING |
translated_text |
STRING |
tree_code |
STRING |
tree_path |
STRING |
url |
STRING |
user_image |
STRING |
user_input |
STRING |
user_roles |
STRING |
variables |
STRING |
variable_conditions |
STRING |
variable_template_value |
STRING |
version |
STRING |
video |
STRING |
week_of_month |
INTEGER |
wide_text |
STRING |
wiki_text |
STRING |
wms_job |
STRING |
workflow |
STRING |
workflow_conditions |
STRING |
xml |
STRING |
Tipos de dados do MongoDB
Cada documento do MongoDB é gravado como um tipo unificado JSON no Datastream.
Para ver exemplos de como os tipos de dados são gravados no BigQuery, consulte
Configurar um destino do BigQuery.
Tipos de dados do Microsoft Dataverse
Cada registro do Microsoft Dataverse é gravado como um tipo unificado JSON no
Datastream.
Tipos de dados do Salesforce Marketing Cloud
Cada registro do Salesforce Marketing Cloud é gravado como um tipo unificado JSON no
Datastream.
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 de origem do MySQL.
- Para mais informações sobre como configurar uma origem do PostgreSQL, consulte Configurar um banco de dados de origem do PostgreSQL.
- 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 ServiceNow, consulte Configurar uma instância de origem do ServiceNow.
- Para mais informações sobre como configurar uma origem do Workday, consulte Configurar uma instância de origem do Workday.
- Para mais informações sobre como configurar uma origem do MongoDB, consulte Configurar um banco de dados de origem do MongoDB.
- Para mais informações sobre como configurar uma origem do Salesforce Marketing Cloud, consulte Configurar uma origem do Salesforce Marketing Cloud.