I tipi unificati sono i tipi di dati che vengono visualizzati negli eventi Avro o JSON. Si tratta di una rappresentazione unificata e specifica di Datastream di un tipo di dati in più origini e destinazioni dati supportate da Datastream.
I tipi unificati sono il superset di tutte le rappresentazioni dei tipi in tutti i tipi di origine supportati, che rappresentano il tipo di origine originale in modo generico ma senza perdita.
Le tabelle seguenti elencano:
- I tipi unificati associati a Datastream
- I mapping tra i tipi di dati Oracle, MySQL, SQL Server, PostgreSQL, Salesforce, Spanner, ServiceNow e MongoDB e i tipi unificati di Datastream
Per informazioni sui mapping tra i tipi di dati per le diverse origini e BigQuery, consulta la documentazione sulla destinazione BigQuery.
Tipi unificati di Datastream
| Nome del tipo | Informazioni | Definizione Avro | Definizione JSON |
|---|---|---|---|
BOOLEAN |
boolean | boolean | boolean |
BYTES |
Una sequenza di byte non firmati | byte | string |
DATE |
Giorni dall'epoca | Un tipo logico di data | stringa [ISO-8601] |
DATETIME |
La data (in giorni dall'epoca) e l'ora (in microsecondi dalla mezzanotte) | Un tipo personalizzato
{
"type": "record",
"name": "datetime",
"fields": [
{"name": "date",
"type": "int",
"logicalType": "date"},
{"name": "time",
"type": "long",
"logicalType": "time-micros"}
]
}
|
stringa [ISO-8601] |
DECIMAL (p,s) |
Un numero decimale con segno di precisione arbitraria | Un tipo logico decimale | numero |
DOUBLE |
Numeri in virgola mobile a 64 bit | double | numero |
FLOAT |
Numeri in virgola mobile a 32 bit | float | numero |
INTEGER |
Un numero intero a 32 bit | int | numero |
INTERVAL |
Durata tra due eventi (in mesi, ore e microsecondi) | Un tipo personalizzato
{
"type": "record",
"name": "interval",
"fields": [
{"name": "months",
"type": "int"}
{"name": "hours",
"type": "int"},
{"name": "micros",
"type": "long"}
]
}
|
stringa [ISO-8601] |
JSON |
Un oggetto JSON | Un tipo logico personalizzato
{
"type": "string",
"logicalType": "json"
}
|
JSON nidificato |
LONG |
Un numero intero a 64 bit | Lungo | numero |
NUMBER |
Un tipo di dati numerico | Un tipo logico personalizzato
{
"type": "string",
"logicalType": "number"
}
|
string |
STRING |
Una lunghezza della stringa illimitata | string | string |
TIME |
Numero di microsecondi trascorsi dalla mezzanotte, indipendentemente dal fuso orario. | Un tipo logico time-micros | stringa [ISO-8601] |
TIME INTERVAL |
Il numero di microsecondi trascorsi tra due eventi | Un tipo logico personalizzato
{
"type": "long",
"logicalType": "time-interval-micros"
}
|
Lungo |
TIMESTAMP |
Quanti microsecondi sono trascorsi dall'epoca, indipendentemente dal fuso orario | Un tipo logico timestamp | stringa [ISO-8601] |
TIMESTAMP WITH TIME ZONE |
Il numero di microsecondi trascorsi dall'epoca con un offset del fuso orario specifico in millisecondi | Un tipo personalizzato
{
"type": "record",
"name": "timestampTz",
"fields": [
{"name": "timestamp",
"type": "long"
"logicalType": "timestamp-micros"},
{"name": "offset",
"type": "int"
"logicalType": "time-millis"}
]
}
|
stringa [ISO-8601] |
TIME WITH TIME ZONE |
Quanti microsecondi sono trascorsi dalla mezzanotte con un offset del fuso orario specifico | Un tipo personalizzato
{
"type": "record",
"name": "timeTz",
"fields": [
{"name": "time",
"type": "long"
"logicalType": "time-micros"},
{"name": "offset",
"type": "int",
"logicalType": "time-millis"}
]
}
|
stringa [ISO-8601] |
UNSUPPORTED |
Un tipo di dati non supportato | Un tipo logico personalizzato
{
"type": "null",
"logicalType": "unsupported"
}
|
null |
VARCHAR |
Una stringa con una lunghezza massima di n caratteri | Un tipo logico personalizzato
{
"type": "string",
"logicalType": "varchar"
"length": N
}
|
string |
Mappa i tipi di dati Oracle ai tipi unificati di Datastream
| Tipo di dati Oracle | Tipo unificato di 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, allora |
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 definito dall'utente) |
UNSUPPORTED |
UROWID |
UNSUPPORTED |
VARCHAR |
VARCHAR |
VARCHAR2 |
VARCHAR |
XMLTYPE |
UNSUPPORTED |
Mappare i tipi di dati MySQL ai tipi unificati di Datastream
| Tipo di dati MySQL | Tipo unificato di Datastream |
|---|---|
BIGINT(size) SIGNED |
LONG |
BIGINT(size) UNSIGNED |
Se la destinazione è BigQuery, DECIMAL, se è Cloud Storage, NUMBER |
BINARY(size) |
STRING (hex encoded) |
BIT(size) |
LONG |
BLOB(size) |
STRING (hex encoded) |
BOOL |
INTEGER |
CHAR(size) |
STRING |
DATE |
Se la destinazione è BigQuery, DATE, se è Cloud Storage, TIMESTAMP |
DATETIME(fsp) |
Se la destinazione è BigQuery, DATETIME, se è 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 la destinazione è BigQuery, allora JSON, se è Cloud Storage, allora 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 la destinazione è BigQuery, INTERVAL, se è 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 |
Mappare i tipi di dati PostgreSQL ai tipi unificati di Datastream
| Tipo di dati PostgreSQL | Tipo unificato di 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 |
Mappare i tipi di dati SQL Server ai tipi unificati di Datastream
| Tipo di dati SQL Server | Tipo unificato di 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 |
Mappare i tipi di dati Salesforce ai tipi unificati di Datastream
Esistono due tipi di tipi di dati supportati da Salesforce:
Mappature dei tipi di dati primitivi
| Tipo di dati Salesforce | Tipo unificato di Datastream |
|---|---|
BOOLEAN |
BOOLEAN |
BYTE |
BYTES |
DATE |
Se la destinazione è BigQuery, DATE, se è Cloud Storage, TIMESTAMP |
DATETIME |
Se la destinazione è BigQuery, DATETIME, se è Cloud Storage, TIMESTAMP |
DOUBLE |
DOUBLE |
INT |
INTEGER |
STRING |
STRING |
TIME |
TIME |
Mappature dei tipi di dati dei campi
| Tipo di dati Salesforce | Tipo unificato di Datastream |
|---|---|
ADDRESS |
I campi secondari di questo campo composto vengono replicati con i rispettivi tipi di dati |
ANYTYPE
(può essere |
STRING |
COMBOBOX |
STRING |
CURRENCY |
DOUBLE |
DATACATEGORYGROUPREFERENCE |
STRING |
EMAIL |
STRING |
ENCRYPTEDSTRING |
STRING |
GEOLOCATION |
I campi secondari di questo campo composto vengono replicati con i rispettivi tipi di dati |
ID |
STRING |
JUNCTIONIDLIST |
STRING |
MASTERRECORD |
STRING |
MULTIPICKLIST |
STRING |
PERCENT |
DOUBLE |
PHONE |
STRING |
PICKLIST |
STRING |
REFERENCE |
STRING |
TEXTAREA |
STRING |
URL |
STRING |
Mappare i tipi di dati Spanner (GoogleSQL) ai tipi unificati di Datastream
| Tipo di dati Spanner | Tipo di dati unificato |
|---|---|
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 |
Mappare i tipi di dati Spanner (PostgreSQL) ai tipi unificati di Datastream
| Tipo di dati Spanner | Tipo di dati unificato |
|---|---|
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 |
Mappare i tipi di dati ServiceNow ai tipi unificati Datastream
| Tipo di dati ServiceNow | Tipo unificato di 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 |
Tipi di dati MongoDB
Ogni documento MongoDB viene scritto come tipo unificato JSON in Datastream.
Per esempi di come vengono scritti i tipi di dati in BigQuery, consulta
Configurare una destinazione BigQuery.
Tipi di dati di Microsoft Dataverse
Ogni record Microsoft Dataverse viene scritto come tipo unificato JSON in Datastream.
Tipi di dati di Salesforce Marketing Cloud
Ogni record Salesforce Marketing Cloud viene scritto come tipo unificato JSON in
Datastream.
Passaggi successivi
- Per saperne di più sulla configurazione di un'origine Oracle, consulta Configura un database Oracle di origine.
- Per ulteriori informazioni sulla configurazione di un'origine MySQL, consulta Configura un database MySQL di origine.
- Per saperne di più sulla configurazione di un'origine PostgreSQL, consulta Configura un database PostgreSQL di origine.
- Per ulteriori informazioni sulla configurazione di un'origine SQL Server, consulta Configura un database SQL Server di origine.
- Per maggiori informazioni sulla configurazione di un'origine Salesforce, vedi Configurare un'organizzazione Salesforce di origine.
- Per ulteriori informazioni sulla configurazione di un'origine ServiceNow, consulta Configurare un'istanza di origine ServiceNow.
- Per saperne di più sulla configurazione di un'origine MongoDB, consulta Configurare un database MongoDB di origine.
- Per saperne di più sulla configurazione di un'origine Salesforce Marketing Cloud, consulta Configura un'origine Salesforce Marketing Cloud.