Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.