Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
gäller för:
Databricks SQL
Databricks Runtime
Regler för hur konflikter mellan datatyper löses finns i REGLER för SQL-datatyp.
Datatyper som stöds
Azure Databricks stöder följande datatyper:
| Datatyp | Description |
|---|---|
| BIGINT | Representerar 8 byte signerade heltalsnummer. |
| BINARY | Representerar bytesekvensvärden. |
| BOOLEAN | Representerar booleska värden. |
| DATE | Representerar värden som består av värden för fälten år, månad och dag, utan tidszon. |
| DECIMAL(p,s) | Representerar tal med maximal precision p och fast skalning s. |
| DOUBLE | Representerar flyttal med dubbel precision som är 8 byte. |
| FLOAT | Representerar flyttal med enkel precision på 4 byte. |
| INT | Representerar 4 bytes signerade heltalsnummer. |
| INTERVALLintervallKvalificerare | Representerar tidsintervall antingen på en skala av sekunder eller månader. |
| VOID | Representerar den otypade NULL. |
| SMALLINT | Representerar 2 byte signerade heltalsnummer. |
| STRING | Representerar teckensträngsvärden. |
| TIMESTAMP | Representerar värden som består av värden för fälten år, månad, dag, timme, minut och sekund, med den lokala tidszonen för sessionen. |
| TIMESTAMP_NTZ | Representerar värden som består av värden för fälten år, månad, dag, timme, minut och sekund. Alla åtgärder utförs utan att ta hänsyn till någon tidszon. |
| TINYINT | Representerar 1-byte signerade heltal. |
| GEOGRAPHY(srid) | Representerar geografiska värden vars koordinatreferenssystem är geografiskt (longitud och latitud i grader) och definieras av srid värdet. Om srid är inställt på ANY koordinatreferenssystemet är inte hårdkodat i typen och blir ett körningsvärde. |
| GEOMETRI(srid) | Representerar geometrivärden vars koordinatreferenssystem förstås som Cartsian och definieras av srid värdet. Om srid är inställt på ANY koordinatreferenssystemet är inte hårdkodat i typen och blir ett körningsvärde. |
| ARRAY-elementTyp <> | Representerar värden som består av en sekvens med element med typen elementType. |
| MAP < keyType,valueType > | Representerar värden som består av en uppsättning nyckel/värde-par. |
| STRUCT < [fieldName : fieldType [NOT NULL][COMMENT str][, ...]] > | Representerar värden med den struktur som beskrivs av en sekvens med fält. |
| VARIANT | Representerar halvstrukturerade data. |
| OBJECT | Representerar värden i en VARIANT med strukturen som beskrivs av en uppsättning fält. |
Important
Delta Lake stöder VOID inte typen.
Klassificering av datatyp
Datatyper grupperas i följande klasser:
Integral numeriska typer
Integral numeriska typer representerar heltal:
Exakta numeriska typer
Exakta numeriska typer representerar base-10-tal:
Binära flyttalstyper
Binära flyttalstyper använder exponenter och en binär representation för att täcka ett stort antal tal:
Numeriska typer
Numeriska typer representerar alla numeriska datatyper:
Datum-tidstyper
Datum- och tidstyper representerar datum- och tidskomponenter:
Geospatiala typer
Geospatiala typer representerar geometriska eller geografiska objekt:
Enkla typer
Enkla typer är typer som definieras genom att lagra singleton-värden:
Komplexa typer
Komplexa typer består av flera komponenter av komplexa eller enkla typer:
Språkmappningar
Gäller för:
Databricks Runtime
Scala
Spark SQL-datatyper definieras i paketet org.apache.spark.sql.types. Du kommer åt dem genom att importera paketet:
import org.apache.spark.sql.types._
| SQL-typ | Datatyp | Värdetyp | API för att komma åt eller skapa datatyp |
|---|---|---|---|
| TINYINT | ByteType | Byte | ByteType |
| SMALLINT | ShortType | Short | ShortType |
| INT | IntegerType | Int | IntegerType |
| BIGINT | LongType | Long | LongType |
| FLOAT | FloatType | Float | FloatType |
| DOUBLE | DoubleType | Double | DoubleType |
| DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DecimalType |
| STRING | StringType | String | StringType |
| BINARY | BinaryType | Array[Byte] | BinaryType |
| BOOLEAN | BooleanType | Boolean | BooleanType |
| TIMESTAMP | TimestampType | java.sql.Timestamp | TimestampType |
| TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | TimestampNTZType |
| DATE | DateType | java.sql.Date | DateType |
| årsmånadsintervall | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| dagtidsintervall | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | Geografityp | org.apache.spark.unsafe.type.GeographyVal | Geografityp |
| GEOMETRI(srid) | GeometryType | org.apache.spark.unsafe.type.GeometryVal | GeometryType |
| ARRAY | ArrayType | scala.collection.Seq | ArrayTyp(elementTyp [, innehållerNull]). (2) |
| MAP | MapType | scala.collection.Map | MapType(keyType, valueType [, valueContainsNull]). (2) |
| STRUCT | StructType | org.apache.spark.sql.Row | StructType(fields). fält är en sekvens av StructField. 4. |
| StructField | Värdetypen för datatypen för det här fältet(Till exempel Int för en StructField med datatypen IntegerType) | StructFält(namn, datatyp [, nullbar]). 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Stöds inte | Stöds inte | Stöds inte |
Java
Spark SQL-datatyper definieras i paketet org.apache.spark.sql.types. Om du vill komma åt eller skapa en datatyp använder du fabriksmetoderna i org.apache.spark.sql.types.DataTypes.
| SQL-typ | Datatyp | Värdetyp | API för att komma åt eller skapa datatyp |
|---|---|---|---|
| TINYINT | ByteType | byte eller Byte | DataTypes.ByteType |
| SMALLINT | ShortType | Kort eller kort | DataTypes.ShortType |
| INT | IntegerType | int eller heltal | DataTypes.IntegerType |
| BIGINT | LongType | lång eller lång | DataTypes.LongType |
| FLOAT | FloatType | flyttal eller flyttal | DataTypes.FloatType |
| DOUBLE | DoubleType | dubbel eller dubbel | DataTypes.DoubleType |
| DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(precision, skala). |
| STRING | StringType | String | DataTypes.StringType |
| BINARY | BinaryType | byte[] | DataTypes.BinaryType |
| BOOLEAN | BooleanType | boolesk eller Boolean | DataTypes.BooleanType |
| TIMESTAMP | TimestampType | java.sql.Timestamp | DataTypes.TimestampType |
| TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | DataTypes.TimestampNTZType |
| DATE | DateType | java.sql.Date | DataTypes.DateType |
| årsmånadsintervall | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| dagtidsintervall | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | Geografityp | org.apache.spark.unsafe.type.GeographyVal | GeografiTyp |
| GEOMETRI(srid) | GeometryType | org.apache.spark.unsafe.type.GeometryVal | GeometryType |
| ARRAY | ArrayType | ava.util.List | DataTypes.createArrayType(elementType [, containsNull]). (2) |
| MAP | MapType | java.util.Map | DataTypes.createMapType(keyType, valueType [, valueContainsNull]). (2) |
| STRUCT | StructType | org.apache.spark.sql.Row | DataTypes.createStructType(fields). fält är en lista eller matris med StructField. 4 |
| StructField | Värdetypen för datatypen för det här fältet (till exempel int för en StructField med datatypen IntegerType) | DataTypes.createStructField(name, dataType, nullable) 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Stöds inte | Stöds inte | Stöds inte |
Python
Spark SQL-datatyper definieras i paketet pyspark.sql.types. Du kommer åt dem genom att importera paketet:
from pyspark.sql.types import *
| SQL-typ | Datatyp | Värdetyp | API för att komma åt eller skapa datatyp |
|---|---|---|---|
| TINYINT | ByteType | int eller long. (1) | ByteType() |
| SMALLINT | ShortType | int eller long. (1) | ShortType() |
| INT | IntegerType | int eller long | IntegerType() |
| BIGINT | LongType | long (1) | LongType() |
| FLOAT | FloatType | float (1) | FloatType() |
| DOUBLE | DoubleType | float | DoubleType() |
| DECIMAL(p,s) | DecimalType | decimal.Decimal | DecimalType() |
| STRING | StringType | string | StringType() |
| BINARY | BinaryType | bytearray | BinaryType() |
| BOOLEAN | BooleanType | bool | BooleanType() |
| TIMESTAMP | TimestampType | datetime.datetime | TimestampType() |
| TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
| DATE | DateType | datetime.date | DateType() |
| årsmånadsintervall | YearMonthIntervalType | Stöds inte | Stöds inte |
| dagtidsintervall | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | GeographyType | GeographyVal | GeographyType() |
| GEOMETRI(srid) | GeometryType | GeometryVal | GeometryType() |
| ARRAY | ArrayType | lista, tuppeln eller matrisen | ArrayType(elementType, [containsNull]). (2) |
| MAP | MapType | dict | MapType(keyType, valueType, [valueContainsNull]). (2) |
| STRUCT | StructType | lista eller tupl | StructType(fields). fältet är en sekvens av StructField. (4) |
| StructField | Värdetypen för datatypen för det här fältet (till exempel Int för en StructField med datatypen IntegerType) | StructField(name, dataType, [nullable]). (4) | |
| VARIANT | VariantType | VariantVal | VariantType() |
| OBJECT | Stöds inte | Stöds inte | Stöds inte |
R
| SQL-typ | Datatyp | Värdetyp | API för att komma åt eller skapa datatyp |
|---|---|---|---|
| TINYINT | ByteType | heltal (1) | 'byte' |
| SMALLINT | ShortType | heltal (1) | 'short' |
| INT | IntegerType | integer | 'integer' |
| BIGINT | LongType | heltal (1) | 'long' |
| FLOAT | FloatType | numeriskt (1) | 'float' |
| DOUBLE | DoubleType | numeric | 'double' |
| DECIMAL(p,s) | DecimalType | Stöds inte | Stöds inte |
| STRING | StringType | character | 'string' |
| BINARY | BinaryType | raw | 'binary' |
| BOOLEAN | BooleanType | logical | 'bool' |
| TIMESTAMP | TimestampType | POSIXct | 'timestamp' |
| TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
| DATE | DateType | Date | 'date' |
| årsmånadsintervall | YearMonthIntervalType | Stöds inte | Stöds inte |
| dagtidsintervall | DayTimeIntervalType | Stöds inte | Stöds inte |
| GEOGRAPHY(srid) | Stöds inte | Stöds inte | Stöds inte |
| GEOMETRI(srid) | Stöds inte | Stöds inte | Stöds inte |
| ARRAY | ArrayType | vektor eller lista | list(type='array', elementType=elementType, containsNull=[containsNull]). (2) |
| MAP | MapType | environment | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]). (2) |
| STRUCT | StructType | namngiven lista | list(type='struct', fields=fields). fält är en sekvens av StructField. (4) |
| StructField | Värdetypen för datatypen för det här fältet (till exempel heltal för ett StructField med datatypen IntegerType) | list(name=name, type=dataType, nullable=[nullable]). (4) | |
| VARIANT | Stöds inte | Stöds inte | Stöds inte |
| OBJECT | Stöds inte | Stöds inte | Stöds inte |
(1) Tal konverteras till domänområdet vid körning. Kontrollera att talen ligger inom intervallet.
(2) Det valfria värdet är TRUEsom standard .
(3) Intervalltyper
YearMonthIntervalType([startField,] endField): Representerar ett årsmånadsintervall som består av en sammanhängande delmängd av följande fält:startFieldär det vänstra fältet ochendFieldär det högra fältet av typen. Giltiga värden förstartFieldochendFieldär0(MONTH)och1(YEAR).DayTimeIntervalType([startField,] endField): Representerar ett dagtidsintervall som består av en sammanhängande delmängd av följande fält:startFieldär det vänstra fältet ochendFieldär det högra fältet av typen. Giltiga värden förstartFieldochendFieldär0(DAY),1(HOUR),2(MINUTE),3(SECOND).
(4)StructType
-
StructType(fields)Representerar värden med den struktur som beskrivs av en sekvens, lista eller matris medStructFields (fält). Två fält med samma namn tillåts inte. -
StructField(name, dataType, nullable)Representerar ett fält i enStructType. Namnet på ett fält anges avname. Datatypen för ett fält anges av dataType.nullableanger om värdena för dessa fält kan hanullvärden. Det här är standardinställningen.