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 origens 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, Salesforce, Spanner, ServiceNow e MongoDB 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, use DECIMAL. Se for o Cloud Storage, use 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, use DATE. Se for o Cloud Storage, use TIMESTAMP. |
DATETIME(fsp) |
Se o destino for o BigQuery, use DATETIME. Se for o Cloud Storage, use 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, use INTERVAL. Se for o Cloud Storage, use 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 |
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, use DATE. Se for o Cloud Storage, use TIMESTAMP. |
DATETIME |
Se o destino for o BigQuery, use DATETIME. Se for o Cloud Storage, use 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 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 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 MySQL de origem.
- 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 fonte 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 MongoDB, consulte Configurar um banco de dados MongoDB de origem.
- Para mais informações sobre como configurar uma fonte do Salesforce Marketing Cloud, consulte Configurar uma fonte do Salesforce Marketing Cloud.