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
- Le mappature tra i tipi di dati Oracle, MySQL, SQL Server, PostgreSQL, Salesforce, Spanner, ServiceNow, MongoDB e Workday (anteprima) 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 |