Data types
Van toepassing op: 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:
Gegevenssoort | Beschrijving |
---|---|
BIGINT | Vertegenwoordigt 8 byte ondertekende gehele getallen. |
BINAIRE | Hiermee worden bytereekswaarden vertegenwoordigd. |
BOOLEAANSE | Vertegenwoordigt Booleaanse waarden. |
DATUM | 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 . |
DUBBELE | Vertegenwoordigt 8-byte drijvendekommanummers met dubbele precisie. |
FLOAT | Vertegenwoordigt 4-byte drijvendekommanummers met één 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 ondertekende gehele getallen. |
TEKENREEKS | 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 | Vertegenwoordigt 1-byte ondertekende gehele getallen. |
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. |
Belangrijk
Delta Lake biedt geen ondersteuning VOID
voor typen.INTERVAL
Classificatie van gegevenstypen
Gegevenstypen worden gegroepeerd in de volgende klassen:
- Integrale numerieke typen vertegenwoordigen gehele getallen:
- Exacte numerieke typen vertegenwoordigen grondtal-10 getallen:
- Binaire drijvendekommatypen maken gebruik van exponenten en een binaire weergave om een groot aantal getallen te dekken:
- Numerieke typen vertegenwoordigen alle numerieke gegevenstypen:
- Datum- en tijdtypen vertegenwoordigen datum- en tijdonderdelen:
- Eenvoudige typen zijn typen die worden gedefinieerd door singleton-waarden vast te houden:
- Complexe typen bestaan uit meerdere onderdelen van complexe of eenvoudige typen:
Taaltoewijzingen
Van toepassing op: 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 | Gegevenstype | Waardetype | API voor toegang tot of het maken van gegevenstype |
---|---|---|---|
TINYINT | ByteType | Byte | ByteType |
SMALLINT | ShortType | Kort | ShortType |
INT | IntegerType | Int | IntegerType |
BIGINT | LongType | Lang | LongType |
FLOAT | FloatType | Float | FloatType |
DUBBELE | DoubleType | Dubbel | DoubleType |
DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DecimalType |
TEKENREEKS | StringType | String | StringType |
BINAIRE | BinaryType | Matrix[Byte] | BinaryType |
BOOLEAANSE | BooleanType | Booleaanse waarde | BooleanType |
TIMESTAMP | TimestampType | java.sql.Timestamp | TimestampType |
TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | TimestampNTZType |
DATUM | DateType | java.sql.Date | DateType |
jaar-maandinterval | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
dag-tijdsinterval | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
ARRAY | ArrayType | scala.collection.Seq | ArrayType(elementType [, containsNull]). (2) |
KAART | MapType | scala.collection.Map | MapType(keyType, valueType [, valueContainsNull]). (2) |
STRUCT | StructType | org.apache.spark.sql.Row | StructType(velden). velden is een Seq 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 |
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 | Gegevenstype | Waardetype | 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 |
DUBBELE | DoubleType | dubbel of dubbel | DataTypes.DoubleType |
DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(precision, scale). |
TEKENREEKS | StringType | String | DataTypes.StringType |
BINAIRE | BinaryType | byte[] | DataTypes.BinaryType |
BOOLEAANSE | BooleanType | Booleaanse of Booleaanse waarde | DataTypes.BooleanType |
TIMESTAMP | TimestampType | java.sql.Timestamp | DataTypes.TimestampType |
TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | DataTypes.TimestampNTZType |
DATUM | DateType | java.sql.Date | DataTypes.DateType |
jaar-maandinterval | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
dag-tijdsinterval | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
ARRAY | ArrayType | ava.util.List | DataTypes.createArrayType(elementType [, containsNull]).(2) |
KAART | MapType | java.util.Map | DataTypes.createMapType(keyType, valueType [, valueContainsNull]).(2) |
STRUCT | StructType | org.apache.spark.sql.Row | DataTypes.createStructType(velden). 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 |
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 | Gegevenstype | Waardetype | 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 | lang (1) | LongType() |
FLOAT | FloatType | float (1) | FloatType() |
DUBBELE | DoubleType | zwevend | DoubleType() |
DECIMAL(p,s) | DecimalType | Decimaal. Decimaal | DecimalType() |
TEKENREEKS | StringType | tekenreeks | StringType() |
BINAIRE | BinaryType | Bytearray | BinaryType() |
BOOLEAANSE | BooleanType | bool | BooleanType() |
TIMESTAMP | TimestampType | datetime.datetime | TimestampType() |
TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
DATUM | DateType | datetime.date | DateType() |
jaar-maandinterval | YearMonthIntervalType | Niet ondersteund | Niet ondersteund |
dag-tijdsinterval | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
ARRAY | ArrayType | lijst, tuple of matrix | ArrayType(elementType, [containsNull]).(2) |
KAART | MapType | Dict | MapType(keyType, valueType, [valueContainsNull]).(2) |
STRUCT | StructType | lijst of tuple | StructType(velden). veld is een Seq 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) |
R
SQL-type | Gegevenstype | Waardetype | API voor toegang tot of het maken van gegevenstype |
---|---|---|---|
TINYINT | ByteType | geheel getal (1) | 'byte' |
SMALLINT | ShortType | geheel getal (1) | 'short' |
INT | IntegerType | geheel getal | 'geheel getal' |
BIGINT | LongType | geheel getal (1) | 'lang' |
FLOAT | FloatType | numeriek (1) | 'float' |
DUBBELE | DoubleType | numeriek | 'dubbel' |
DECIMAL(p,s) | DecimalType | Niet ondersteund | Niet ondersteund |
TEKENREEKS | StringType | teken | 'tekenreeks' |
BINAIRE | BinaryType | raw | 'binair' |
BOOLEAANSE | BooleanType | Logische | 'bool' |
TIMESTAMP | TimestampType | POSIXct | 'tijdstempel' |
TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
DATUM | DateType | Datum | 'datum' |
jaar-maandinterval | YearMonthIntervalType | Niet ondersteund | Niet ondersteund |
dag-tijdsinterval | DayTimeIntervalType | Niet ondersteund | Niet ondersteund |
ARRAY | ArrayType | vector of lijst | list(type='array', elementType=elementType, containsNull=[containsNull]).(2) |
KAART | MapType | omgeving | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]).(2) |
STRUCT | StructType | benoemde lijst | list(type='struct', fields=fields). velden is een Seq 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) |
(1) Getallen worden tijdens runtime geconverteerd naar het domein. Zorg ervoor dat getallen binnen het bereik vallen.
(2) De optionele waarde wordt standaard ingesteld TRUE
op .
(3) Intervaltypen
YearMonthIntervalType([startField,] endField)
: Vertegenwoordigt een jaarmaandinterval dat bestaat uit een aaneengesloten subset van de volgende velden:startField
is het meest linkse veld enendField
is het meest rechtse veld van het type. Geldige waarden vanstartField
en zijn0(MONTH)
enendField
1(YEAR)
.DayTimeIntervalType([startField,] endField)
: Vertegenwoordigt een dag-tijdsinterval dat bestaat uit een aaneengesloten subset van de volgende velden:startField
is het meest linkse veld enendField
is het meest rechtse veld van het type. Geldige waarden vanstartField
enendField
zijn0(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 vanStructField
s (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.nullable
geeft aan of waarden van deze velden waarden kunnen hebbennull
. Dit is de standaardinstelling.
Verwante artikelen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor