Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Databricks SQL
Databricks Runtime
Per le regole che regolano il modo in cui vengono risolti i conflitti tra i tipi di dati, vedere Regole dei tipi di dati SQL.
Tipi di dati supportati
Azure Databricks supporta i tipi di dati seguenti:
Tipo di dati | Descrizione |
---|---|
BIGINT | Rappresenta numeri interi con segno a 8 byte. |
BINARIO | Rappresenta i valori della sequenza di byte. |
BOOLEANO | Rappresenta valori booleani. |
DATA | Rappresenta i valori che comprendono i valori di campi anno, mese e giorno, senza un fuso orario. |
DECIMAL(p,s) | Rappresenta numeri con precisione p massima e scala s fissa. |
DOPPIO | Rappresenta numeri a virgola mobile a precisione doppia a 8 byte. |
GALLEGGIARE | Rappresenta numeri a virgola mobile a precisione singola a 4 byte. |
INT | Rappresenta numeri interi con segno a 4 byte. |
INTERVAL intervalQualifier | Rappresenta gli intervalli di tempo su una scala di secondi o mesi. |
NULLO | Rappresenta il valore NULL non tipizzato. |
SMALLINT | Rappresenta numeri interi con segno a 2 byte. |
STRINGA | Rappresenta valori di stringa di caratteri. |
TIMESTAMP | Rappresenta i valori che comprendono i valori di campi anno, mese, giorno, ora, minuto e secondo, con il fuso orario locale della sessione. |
TIMESTAMP_NTZ | Rappresenta i valori che comprendono i valori di campi anno, mese, giorno, ora, minuto e secondo. Tutte le operazioni vengono eseguite senza prendere in considerazione alcun fuso orario. |
TINYINT | Rappresenta numeri interi con segno a 1 byte. |
ARRAY < tipoElemento > | Rappresenta i valori che comprendono una sequenza di elementi con il tipo di elementType . |
MAP < keyType,valueType > | Rappresenta i valori che comprendono un set di coppie chiave-valore. |
STRUCT < [nomeCampo : tipoCampo [NON NULLO][COMMENTO str][, ...]] > | Rappresenta i valori con la struttura descritta da una sequenza di campi. |
VARIANTE | Rappresenta dati semistrutturati. |
OGGETTO | Rappresenta i valori in un VARIANT con la struttura descritta da un set di campi. |
Importante
Delta Lake non supporta il VOID
tipo.
Classificazione dei tipi di dati
I tipi di dati vengono raggruppati nelle classi seguenti:
- I tipi numerici esatti rappresentano numeri base 10:
- I tipi a virgola mobile binaria usano esponenti e una rappresentazione binaria per coprire un'ampia gamma di numeri:
- I tipi numerici rappresentano tutti i tipi di dati numerici:
- I tipi di data e ora rappresentano componenti di data e ora:
- I tipi semplici sono tipi definiti con valori unici:
- I tipi complessi sono costituiti da più componenti di tipi complessi o semplici:
Associazioni linguistiche
Si applica a: Databricks Runtime
Linguaggio di programmazione Scala
I tipi di dati SPARK SQL sono definiti nel pacchetto org.apache.spark.sql.types
. È possibile accedervi importando il pacchetto:
import org.apache.spark.sql.types._
Tipo SQL | Tipo di dati | Tipo di valore | API per accedere o creare un tipo di dati |
---|---|---|---|
TINYINT | Tipo di byte | Byte | Tipo di byte |
SMALLINT | ShortType | Breve | ShortType |
INT | TipoInteger | int | TipoInteger |
BIGINT | LongType | Lungo | LongType |
GALLEGGIARE | TipoFloat | Galleggiare | TipoFloat |
DOPPIO | DoubleType | Doppio | DoubleType |
DECIMAL(p,s) | TipoDecimale | java.math.BigDecimal | TipoDecimale |
STRINGA | TipoStringa | Stringa | TipoStringa |
BINARIO | TipoBinario | Matrice[Byte] | TipoBinario |
BOOLEANO | Tipo Booleano | Booleano | Tipo Booleano |
TIMESTAMP | Tipo di Timestamp | java.sql.Timestamp | Tipo di Timestamp |
TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | TimestampNTZType |
DATA | Tipo di Data | java.sql.Date | Tipo di Data |
intervallo anno-mese | TipoIntervalloAnnoMese | java.time.Period | YearMonthIntervalType (3) |
intervallo di tempo del giorno | DayTimeIntervalType | java.time.Duration | TipoIntervalloGiornaliero (3) |
ARRAY | Tipo di Array | scala.collection.Seq | ArrayType(elementType [, containsNull]). (2) |
MAPPA | Tipo di Mappa | scala.collection.Map | MapType(keyType, valueType [, valueContainsNull]). (2) |
STRUTTURA | StructType (tipo di struttura) | org.apache.spark.sql.Row | StructType(campi). fields è una sequenza di StructField. 4. |
StructField | Tipo di valore del tipo di dati di questo campo(ad esempio, Int per un campo Struct con il tipo di dati IntegerType) | StructField(nome, tipoDiDato [, nullo]). 4 | |
VARIANTE | TipoVariante | org.apache.spark.unsafe.type.VariantVal | TipoVariante |
OGGETTO | Non supportato | Non supportato | Non supportato |
Giava
I tipi di dati SPARK SQL sono definiti nel pacchetto org.apache.spark.sql.types
. Per accedere o creare un tipo di dati, usare i metodi factory forniti in org.apache.spark.sql.types.DataTypes
.
Tipo SQL | Tipo di dati | Tipo di valore | API per accedere o creare un tipo di dati |
---|---|---|---|
TINYINT | Tipo di byte | byte o Byte | DataTypes.ByteType |
SMALLINT | ShortType | corto o breve | DataTypes.ShortType |
INT | TipoInteger | int o Integer | Tipo di dati: Integer (Intero) |
BIGINT | LongType | long o Long | DataTypes.LongType |
GALLEGGIARE | TipoFloat | float o tipo Float | DataTypes.FloatType |
DOPPIO | DoubleType | doppio o Double | DataTypes.DoubleType |
DECIMAL(p,s) | TipoDecimale | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(precision, scale). |
STRINGA | TipoStringa | Stringa | DataTypes.StringType |
BINARIO | TipoBinario | byte[] | TipoBinario.DataTypes |
BOOLEANO | Tipo Booleano | Boolean o booleano | DataTypes.BooleanType |
TIMESTAMP | Tipo di Timestamp | java.sql.Timestamp | DataTypes.TimestampType |
TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | DataTypes.TimestampNTZType |
DATA | Tipo di Data | java.sql.Date | DataTypes.DateType |
intervallo anno-mese | TipoIntervalloAnnoMese | java.time.Period | YearMonthIntervalType (3) |
intervallo di tempo del giorno | DayTimeIntervalType | java.time.Duration | TipoIntervalloGiornaliero (3) |
ARRAY | Tipo di Array | ava.util.List | DataTypes.createArrayType(elementType [, containsNull]). (2) |
MAPPA | Tipo di Mappa | java.util.Map | DataTypes.createMapType(keyType, valueType [, valueContainsNull]). (2) |
STRUTTURA | StructType (tipo di struttura) | org.apache.spark.sql.Row | DataTypes.createStructType(fields). fields è un elenco o una matrice di StructField. 4 |
StructField | Tipo di valore del tipo di dati di questo campo (ad esempio, int per un campo Struct con il tipo di dati IntegerType) | DataTypes.createStructField(name, dataType, nullable) 4 | |
VARIANTE | TipoVariante | org.apache.spark.unsafe.type.VariantVal | TipoVariante |
OGGETTO | Non supportato | Non supportato | Non supportato |
Pitone
I tipi di dati SPARK SQL sono definiti nel pacchetto pyspark.sql.types
. È possibile accedervi importando il pacchetto:
from pyspark.sql.types import *
Tipo SQL | Tipo di dati | Tipo di valore | API per accedere o creare un tipo di dati |
---|---|---|---|
TINYINT | Tipo di byte | int o long. (1) | ByteType() |
SMALLINT | ShortType | int o long. (1) | ShortType() |
INT | TipoInteger | int o long | IntegerType() |
BIGINT | LongType | long (1) | LongType() |
GALLEGGIARE | TipoFloat | float (1) | FloatType() |
DOPPIO | DoubleType | galleggiare | DoubleType() |
DECIMAL(p,s) | TipoDecimale | decimale. Decimale | DecimalType() |
STRINGA | TipoStringa | corda | StringType() |
BINARIO | TipoBinario | bytearray | BinaryType() |
BOOLEANO | Tipo Booleano | Bool | BooleanType() |
TIMESTAMP | Tipo di Timestamp | datetime.datetime | TimestampType() |
TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
DATA | Tipo di Data | datetime.date (modulo data e ora di Python) | DateType() |
intervallo anno-mese | TipoIntervalloAnnoMese | Non supportato | Non supportato |
intervallo di tempo del giorno | DayTimeIntervalType | datetime.timedelta | TipoIntervalloGiornaliero (3) |
ARRAY | Tipo di Array | lista, tupla o array | ArrayType(elementType, [containsNull]). (2) |
MAPPA | Tipo di Mappa | dizionario | MapType(keyType, valueType, [valueContainsNull]). (2) |
STRUTTURA | StructType (tipo di struttura) | elenco o tupla | StructType(campi). field è una sequenza di StructField. (4) |
StructField | Tipo di valore del tipo di dati di questo campo (ad esempio, Int per un campo Struct con il tipo di dati IntegerType) | StructField(name, dataType, [nullable]). (4) | |
VARIANTE | TipoVariante | VariantVal | VariantType() |
OGGETTO | Non supportato | Non supportato | Non supportato |
R
Tipo SQL | Tipo di dati | Tipo di valore | API per accedere o creare un tipo di dati |
---|---|---|---|
TINYINT | Tipo di byte | intero (1) | byte |
SMALLINT | ShortType | intero (1) | corto |
INT | TipoInteger | numero intero | intero |
BIGINT | LongType | intero (1) | lungo |
GALLEGGIARE | TipoFloat | numeric (1) | "galleggia" |
DOPPIO | DoubleType | numerico | doppio |
DECIMAL(p,s) | TipoDecimale | Non supportato | Non supportato |
STRINGA | TipoStringa | carattere / personaggio | stringa |
BINARIO | TipoBinario | Crudo | binario |
BOOLEANO | Tipo Booleano | logico | 'bool' |
TIMESTAMP | Tipo di Timestamp | POSIXct | marca temporale |
TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
DATA | Tipo di Data | Appuntamento | 'date' |
intervallo anno-mese | TipoIntervalloAnnoMese | Non supportato | Non supportato |
intervallo di tempo del giorno | DayTimeIntervalType | Non supportato | Non supportato |
ARRAY | Tipo di Array | vettore o elenco | list(type='array', elementType=elementType, containsNull=[containsNull]). (2) |
MAPPA | Tipo di Mappa | ambiente | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]). (2) |
STRUTTURA | StructType (tipo di struttura) | elenco denominato | list(type='struct', fields=campi). fields è una sequenza di StructField. (4) |
StructField | Tipo di valore del tipo di dati di questo campo (ad esempio integer per un campo StructField con tipo di dati IntegerType) | list(nome=nome, tipo=datoTipo, annullabile=[annullabile]). (4) | |
VARIANTE | Non supportato | Non supportato | Non supportato |
OGGETTO | Non supportato | Non supportato | Non supportato |
(1) I numeri vengono convertiti nel dominio in fase di esecuzione. Accertarsi che i numeri rientrino nell'intervallo specificato.
(2) Il valore facoltativo è impostato su TRUE
.
(3) Tipi di intervallo
YearMonthIntervalType([startField,] endField)
: rappresenta un intervallo di mese di anno costituito da un sottoinsieme contiguo dei campi seguenti:startField
è il campo più a sinistra edendField
è il campo più a destra del tipo. I valori validi distartField
eendField
sono0(MONTH)
e1(YEAR)
.DayTimeIntervalType([startField,] endField)
: rappresenta un intervallo di tempo di giorno costituito da un subset contiguo dei campi seguenti:startField
è il campo più a sinistra edendField
è il campo più a destra del tipo. I valori validi distartField
eendField
sono0(DAY)
,1(HOUR)
,2(MINUTE)
,3(SECOND)
.
(4)StructType
-
StructType(fields)
Rappresenta i valori con la struttura descritta da una sequenza, un elenco o una matrice diStructField
(campi). Non sono consentiti due campi con lo stesso nome. -
StructField(name, dataType, nullable)
Rappresenta un campo in un oggettoStructType
. Il nome di un campo è indicato daname
. Il tipo di dati di un campo è indicato da dataType.nullable
indica se i valori di questi campi possono avere valorinull
. Si tratta dell'impostazione predefinita.