Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Applies to:
Databricks SQL
Databricks Runtime
Zie SQL-gegevenstyperegels voor regels die bepalen hoe conflicten tussen gegevenstypen worden opgelost.
Ondersteunde gegevenstypen
Azure Databricks ondersteunt de volgende gegevenstypen:
| Data Type | Description |
|---|---|
| BIGINT | Vertegenwoordigt 8 byte ondertekende gehele getallen. |
| BINARY | Hiermee worden bytereekswaarden vertegenwoordigd. |
| BOOLEAN | Vertegenwoordigt Booleaanse waarden. |
| DATE | Vertegenwoordigt waarden die bestaan uit waarden van velden jaar, maand en dag, zonder een tijdzone. |
| DECIMAL(p,s) | Vertegenwoordigt getallen met maximale precisie p en vaste schaal s. |
| DOUBLE | Vertegenwoordigt 8-byte drijvendekommanummers met dubbele precisie. |
| FLOAT | Vertegenwoordigt 4-byte drijvende-komma getallen met enkelvoudige precisie. |
| INT | Vertegenwoordigt vier byte ondertekende gehele getallen. |
| INTERVAL intervalQualifier | Vertegenwoordigt intervallen van tijd op een schaal van seconden of maanden. |
| VOID | Vertegenwoordigt de niet-getypte NULL. |
| SMALLINT | Vertegenwoordigt 2-byte getekende gehele getallen. |
| STRING | Vertegenwoordigt tekenreekswaarden. |
| TIMESTAMP | Vertegenwoordigt waarden die bestaan uit waarden van velden jaar, maand, dag, uur, minuut en seconde, met de lokale tijdzone van de sessie. |
| TIMESTAMP_NTZ | Vertegenwoordigt waarden die bestaan uit waarden van velden jaar, maand, dag, uur, minuut en seconde. Alle bewerkingen worden uitgevoerd zonder rekening te houden met een tijdzone. |
| TINYINT | Geeft 1-byte gesigneerde gehele getallen weer. |
| GEOGRAPHY(srid) | Vertegenwoordigt geografische waarden waarvan het coördinaatreferentiesysteem geografisch is (lengtegraad en breedtegraad in graden) en wordt gedefinieerd door de srid waarde. Als srid dit is ingesteld op ANY het coördinaatreferentiesysteem, wordt het type niet vastgelegd en wordt het een runtimewaarde. |
| GEOMETRY(srid) | Vertegenwoordigt geometriewaarden waarvan het coördinaatreferentiesysteem wordt begrepen als Cartsian en wordt gedefinieerd door de srid waarde. Als srid dit is ingesteld op ANY het coördinaatreferentiesysteem, wordt het type niet vastgelegd en wordt het een runtimewaarde. |
| ARRAY elementType <> | Vertegenwoordigt waarden die bestaan uit een reeks elementen met het type elementType. |
| MAP < keyType,valueType > | Vertegenwoordigt waarden die bestaan uit een set sleutel-waardeparen. |
| STRUCT < [fieldName : fieldType [NOT NULL][COMMENT str][, ...]] > | Vertegenwoordigt waarden met de structuur die wordt beschreven door een reeks velden. |
| VARIANT | Vertegenwoordigt semi-gestructureerde gegevens. |
| OBJECT | Vertegenwoordigt waarden in een VARIANT met de structuur die wordt beschreven door een set velden. |
Important
Delta Lake biedt geen ondersteuning voor het VOID type.
Classificatie van gegevenstypen
Gegevenstypen worden gegroepeerd in de volgende klassen:
Integrale numerieke typen
Integrale numerieke typen vertegenwoordigen gehele getallen:
Exacte numerieke typen
Exacte numerieke typen vertegenwoordigen grondtal-10 getallen:
Binaire typen drijvende komma
Binaire drijvendekommatypen maken gebruik van exponenten en een binaire weergave om een groot aantal getallen te dekken:
Numeric types
Numerieke typen vertegenwoordigen alle numerieke gegevenstypen:
Date-time types
Datum- en tijdtypen vertegenwoordigen datum- en tijdonderdelen:
Geospatial types
Georuimtelijke typen vertegenwoordigen geometrische of geografische objecten:
Simple types
Eenvoudige typen zijn typen die worden gedefinieerd door singleton-waarden vast te houden:
Complex types
Complex types are composed of multiple components of complex or simple types:
Language mappings
Applies to:
Databricks Runtime
Scala
Spark SQL-gegevenstypen worden gedefinieerd in het pakket org.apache.spark.sql.types. U opent deze door het pakket te importeren:
import org.apache.spark.sql.types._
| SQL type | Data type | Value type | API voor toegang tot of het maken van gegevenstype |
|---|---|---|---|
| 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 |
| year-month interval | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| day-time interval | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | GeographyType | org.apache.spark.unsafe.type.GeographyVal | GeographyType |
| GEOMETRY(srid) | GeometryType | org.apache.spark.unsafe.type.GeometryVal | GeometryType |
| ARRAY | ArrayType | scala.collection.Seq | ArrayType(elementType [, containsNull]). (2) |
| MAP | MapType | scala.collection.Map | MapType(keyType, valueType [, valueContainsNull]). (2) |
| STRUCT | StructType | org.apache.spark.sql.Row | StructType(fields). Velden zijn een sequentie van StructField. 4. |
| StructField | Het waardetype van het gegevenstype van dit veld (bijvoorbeeld Int voor een StructField met het gegevenstype IntegerType) | StructField(naam, dataType [, nullable]). 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Not Supported | Not supported | Not supported |
Java
Spark SQL-gegevenstypen worden gedefinieerd in het pakket org.apache.spark.sql.types. Als u toegang wilt krijgen tot of een gegevenstype wilt maken, gebruikt u fabrieksmethoden die zijn opgegeven in org.apache.spark.sql.types.DataTypes.
| SQL type | Data Type | Value type | API voor toegang tot of het maken van gegevenstype |
|---|---|---|---|
| TINYINT | ByteType | byte of Byte | DataTypes.ByteType |
| SMALLINT | ShortType | kort of kort | DataTypes.ShortType |
| INT | IntegerType | int of geheel getal | DataTypes.IntegerType |
| BIGINT | LongType | lang of lang | DataTypes.LongType |
| FLOAT | FloatType | Float Of Float | DataTypes.FloatType |
| DOUBLE | DoubleType | dubbel of Dubbel | DataTypes.DoubleType |
| DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(precision, scale). |
| STRING | StringType | String | DataTypes.StringType |
| BINARY | BinaryType | byte[] | DataTypes.BinaryType |
| BOOLEAN | BooleanType | Booleaanse of Booleaanse waarde | DataTypes.BooleanType |
| TIMESTAMP | TimestampType | java.sql.Timestamp | DataTypes.TimestampType |
| TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | DataTypes.TimestampNTZType |
| DATE | DateType | java.sql.Date | DataTypes.DateType |
| year-month interval | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| day-time interval | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | GeographyType | org.apache.spark.unsafe.type.GeographyVal | GeographyType |
| GEOMETRY(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). velden is een lijst of matrix van StructField. 4 |
| StructField | Het waardetype van het gegevenstype van dit veld (bijvoorbeeld int voor een StructField met het gegevenstype IntegerType) | DataTypes.createStructField(name, dataType, nullable) 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Not Supported | Not supported | Not supported |
Python
Spark SQL-gegevenstypen worden gedefinieerd in het pakket pyspark.sql.types. U opent deze door het pakket te importeren:
from pyspark.sql.types import *
| SQL type | Data type | Value type | API voor toegang tot of het maken van gegevenstype |
|---|---|---|---|
| TINYINT | ByteType | int of lang. (1) | ByteType() |
| SMALLINT | ShortType | int of lang. (1) | ShortType() |
| INT | IntegerType | int of lang | 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() |
| year-month interval | YearMonthIntervalType | Not supported | Not supported |
| day-time interval | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | GeographyType | GeographyVal | GeographyType() |
| GEOMETRY(srid) | GeometryType | GeometryVal | GeometryType() |
| ARRAY | ArrayType | lijst, tuple of matrix | ArrayType(elementType, [containsNull]).(2) |
| MAP | MapType | dict | MapType(keyType, valueType, [valueContainsNull]).(2) |
| STRUCT | StructType | lijst of tuple | StructType(fields). Veld is een sequentie van StructField. (4) |
| StructField | Het waardetype van het gegevenstype van dit veld (bijvoorbeeld Int voor een StructField met het gegevenstype IntegerType) | StructField(name, dataType, [nullable]).(4) | |
| VARIANT | VariantType | VariantVal | VariantType() |
| OBJECT | Not Supported | Not supported | Not supported |
R
| SQL type | Data type | Value type | API voor toegang tot of het maken van gegevenstype |
|---|---|---|---|
| TINYINT | ByteType | integer (1) | 'byte' |
| SMALLINT | ShortType | integer (1) | 'short' |
| INT | IntegerType | integer | 'integer' |
| BIGINT | LongType | integer (1) | 'long' |
| FLOAT | FloatType | numeric (1) | 'float' |
| DOUBLE | DoubleType | numeric | 'double' |
| DECIMAL(p,s) | DecimalType | Not supported | Not supported |
| 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' |
| year-month interval | YearMonthIntervalType | Not supported | Not supported |
| day-time interval | DayTimeIntervalType | Not supported | Not supported |
| GEOGRAPHY(srid) | Not supported | Not supported | Not supported |
| GEOMETRY(srid) | Not supported | Not supported | Not supported |
| ARRAY | ArrayType | vector of lijst | list(type='array', elementType=elementType, containsNull=[containsNull]).(2) |
| MAP | MapType | environment | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]).(2) |
| STRUCT | StructType | named list | list(type='struct', fields=fields). Velden zijn een sequentie van StructField. (4) |
| StructField | Het waardetype van het gegevenstype van dit veld (bijvoorbeeld een geheel getal voor een StructField met het gegevenstype IntegerType) | list(name=name, type=dataType, nullable=[nullable]).(4) | |
| VARIANT | Not Supported | Not supported | Not supported |
| OBJECT | Not Supported | Not supported | Not supported |
(1) Numbers are converted to the domain at runtime. Zorg ervoor dat getallen binnen het bereik vallen.
(2) The optional value defaults to TRUE.
(3) Interval types
YearMonthIntervalType([startField,] endField): Vertegenwoordigt een jaarmaandinterval dat bestaat uit een aaneengesloten subset van de volgende velden:startFieldis het meest linkse veld enendFieldis het meest rechtse veld van het type. Geldige waarden vanstartFieldenendFieldzijn0(MONTH)en1(YEAR).DayTimeIntervalType([startField,] endField): Vertegenwoordigt een dag-tijdsinterval dat bestaat uit een aaneengesloten subset van de volgende velden:startFieldis het meest linkse veld enendFieldis het meest rechtse veld van het type. Geldige waarden vanstartFieldenendFieldzijn0(DAY),1(HOUR),2(MINUTE),3(SECOND).
(4)StructType
-
StructType(fields)Vertegenwoordigt waarden met de structuur die wordt beschreven door een reeks, lijst of matrix vanStructFields (velden). Twee velden met dezelfde naam zijn niet toegestaan. -
StructField(name, dataType, nullable)Vertegenwoordigt een veld in eenStructType. De naam van een veld wordt aangegeven doorname. Het gegevenstype van een veld wordt aangegeven door dataType.nullablegeeft aan of waarden van deze veldennullwaarden kunnen hebben. Dit is de standaardinstelling.