Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime
Az adattípusok közötti ütközések feloldását szabályozó szabályokért tekintse meg az SQL adattípus-szabályait.
Támogatott adattípusok
Az Azure Databricks a következő adattípusokat támogatja:
| Adattípus | Description |
|---|---|
| BIGINT | 8 bájtos aláírt egész számokat képvisel. |
| BINARY | Bájtsorozat-értékeket jelöl. |
| BOOLEAN | Logikai értékeket jelöl. |
| DATE | Olyan értékeket jelöl, amelyek az év, a hónap és a nap mezőiből állnak, időzóna nélkül. |
| DECIMAL(p,s) | Maximális pontosságú p és rögzített léptékű sszámokat jelöl. |
| DOUBLE | 8 bájtos dupla pontosságú lebegőpontos számokat jelöl. |
| FLOAT | 4 bájtos egyszeres pontosságú lebegőpontos számokat jelöl. |
| INT | 4 bájtos aláírt egész számokat jelöl. |
| INTERVAL intervalQualifier | Az időintervallumokat másodpercek vagy hónapok skáláján jelöli. |
| VOID | A nem beírt NULL értéket jelöli. |
| SMALLINT | 2 bájtos aláírt egész számokat ábrázol. |
| STRING | Karaktersztringértékeket jelöl. |
| TIMESTAMP | Az év, hónap, nap, óra, perc és másodperc mezők értékeit jelöli, a munkamenet helyi időzónájával együtt. |
| TIMESTAMP_NTZ | Az év, a hónap, a nap, az óra, a perc és a másodperc mezőiből álló értékeket jelöli. Minden műveletet anélkül hajtunk végre, hogy az időzónát figyelembe vesszük. |
| TINYINT | 1 bájtos aláírt egész számokat jelöl. |
| GEOGRAPHY(srid) | Olyan földrajzi értékeket jelöl, amelyek koordináta-referenciarendszere földrajzi (hosszúság és szélesség fokban), és az srid érték határozza meg. Ha a srid értéke ANY lesz, a koordináta-referenciarendszer nincs a típusban kódolva, és futásidőben határozzák meg. |
| GEOMETRIA(srid) | Olyan geometriai értékeket jelöl, amelyek koordináta-referenciarendszerét Cartsianként értelmezik, és az srid érték határozza meg. Ha a srid értéke ANY lesz, a koordináta-referenciarendszer nincs a típusban kódolva, és futásidőben határozzák meg. |
| ARRAY < elementType > | Olyan értékeket jelöl, amelyek az elemek sorozatából állnak, a elementType típusával. |
| MAP < keyType,valueType > | Kulcs-érték párokból álló értékeket jelöl. |
| STRUCT < [fieldName : fieldType [NOT NULL][COMMENT str][, ...]] > | Értékeket jelöl a mezők sorozata által leírt struktúrával. |
| VARIANT | Félig strukturált adatokat jelöl. |
| OBJECT | Olyan értékeket képvisel a VARIANT, amelyek struktúráját egy mezőkészlet írja le. |
Important
A Delta Lake nem támogatja a típust VOID .
Adattípus-besorolás
Az adattípusok a következő osztályokba vannak csoportosítva:
Integrál numerikus típusok
Az integrál numerikus típusok egész számokat jelölnek:
Pontos numerikus típusok
A pontos numerikus típusok a 10-es alapértékeket jelölik:
Bináris lebegőpontos típusok
A bináris lebegőpontos típusok a kitevőket és a bináris ábrázolásokat használják nagy számtartomány lefedésére:
Numerikus típusok
A numerikus típusok az összes numerikus adattípust jelölik:
Dátum-idő típusok
A dátum-idő típusok dátum- és időösszetevőket jelölnek:
Térinformatikai típusok
A térinformatikai típusok geometriai vagy földrajzi objektumokat jelölnek:
Egyszerű típusok
Az egyszerű típusok a singleton értékek megtartásával definiált típusok:
Összetett típusok
Az összetett típusok összetett vagy egyszerű típusok több összetevőből állnak:
Nyelvi leképezések
A következőkre vonatkozik:
Databricks Runtime
Scala
A Spark SQL-adattípusok a csomagban org.apache.spark.sql.typesvannak definiálva. A csomag importálásával érheti el őket:
import org.apache.spark.sql.types._
| SQL-típus | Adattípus | Érték típusa | API az adattípus eléréséhez vagy létrehozásához |
|---|---|---|---|
| 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 | logikai | BooleanType |
| TIMESTAMP | TimestampType | java.sql.Timestamp | TimestampType |
| TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | TimestampNTZType |
| DATE | DateType | java.sql.Date | DateType |
| év-hónap intervallum | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| napi időintervallum | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | FöldrajziTípus | org.apache.spark.unsafe.type.GeographyVal | Földrajzitípus |
| GEOMETRIA(srid) | GeometryType | org.apache.spark.unsafe.type.GeometryVal | GeometryType |
| ARRAY | ArrayType | scala.collection.Seq | ArrayType(elementType [, containsNull]). (2) |
| MAP | MapType | scala.collection.Map | Térképtípus(kulcsTípus, értékTípus [, értékTartalmazNullát]). (2) |
| STRUCT | StructType | org.apache.spark.sql.Row | StructType(fields). A mezők egy sorozata a StructField-nek. 4. |
| StructField | A mező adattípusának értéktípusa (Például Int egy StructField esetében, ahol az adattípus IntegerType) | StructField(név, adattípus [, lehet-null]). 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Nem támogatott | Nem támogatott | Nem támogatott |
Java
A Spark SQL-adattípusok a csomagban org.apache.spark.sql.typesvannak definiálva. Adattípus eléréséhez vagy létrehozásához használja a következőben org.apache.spark.sql.types.DataTypesmegadott gyári metódusokat: .
| SQL-típus | Adattípus | Érték típusa | API az adattípus eléréséhez vagy létrehozásához |
|---|---|---|---|
| TINYINT | ByteType | bájt vagy Bájt | DataTypes.ByteType |
| SMALLINT | ShortType | rövid vagy rövid | DataTypes.ShortType |
| INT | IntegerType | int vagy egész szám | DataTypes.IntegerType |
| BIGINT | LongType | hosszú vagy hosszú | DataTypes.LongType |
| FLOAT | FloatType | lebegőpontos vagy lebegőpontos | DataTypes.FloatType |
| DOUBLE | DoubleType | dupla vagy dupla | DataTypes.DoubleType |
| DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(pontosság, skálázás). |
| STRING | StringType | String | DataTypes.StringType |
| BINARY | BinaryType | byte[] | DataTypes.BinaryType |
| BOOLEAN | BooleanType | logikai típus vagy 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 |
| év-hónap intervallum | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| napi időintervallum | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | FöldrajziTípus | org.apache.spark.unsafe.type.GeographyVal | Földrajztípus |
| GEOMETRIA(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). a mezők a StructField listája vagy tömbje. 4 |
| StructField | A mező adattípusának értéktípusa (például int egy StructField esetén, amelynél az adattípus IntegerType) | DataTypes.createStructField(name, dataType, nullable) 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Nem támogatott | Nem támogatott | Nem támogatott |
Python
A Spark SQL-adattípusok a csomagban pyspark.sql.typesvannak definiálva. A csomag importálásával érheti el őket:
from pyspark.sql.types import *
| SQL-típus | Adattípus | Érték típusa | API az adattípus eléréséhez vagy létrehozásához |
|---|---|---|---|
| TINYINT | ByteType | int vagy long. (1) | ByteType() |
| SMALLINT | ShortType | int vagy long. (1) | ShortType() |
| INT | IntegerType | int vagy long | IntegerType() |
| BIGINT | LongType | hosszú (1) | LongType() |
| FLOAT | FloatType | float (1) | FloatType() |
| DOUBLE | DoubleType | float | DoubleType() |
| DECIMAL(p,s) | DecimalType | decimal.Decimal | DecimalType() |
| STRING | StringType | karakterlánc | 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() |
| év-hónap intervallum | YearMonthIntervalType | Nem támogatott | Nem támogatott |
| napi időintervallum | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | FöldrajziTípus | GeographyVal | GeographyType() |
| GEOMETRIA(srid) | GeometryType | GeometryVal | GeometryType() |
| ARRAY | ArrayType | lista, tuple vagy tömb | ArrayType(elementType, [containsNull]). (2) |
| MAP | MapType | dict | MapType(keyType, valueType, [valueContainsNull]). (2) |
| STRUCT | StructType | lista vagy tömb | StructType(fields). mező a StructField szekvenálása. (4) |
| StructField | A mező adattípusának értéktípusa (például Int egy StructField esetén, amelynek adattípusa IntegerType) | StructField(name, dataType; [nullable]). (4) | |
| VARIANT | VariantType | VariantVal | VariantType() |
| OBJECT | Nem támogatott | Nem támogatott | Nem támogatott |
R
| SQL-típus | Adattípus | Érték típusa | API az adattípus eléréséhez vagy létrehozásához |
|---|---|---|---|
| TINYINT | ByteType | egész szám (1) | 'byte' |
| SMALLINT | ShortType | egész szám (1) | 'short' |
| INT | IntegerType | egész szám | 'integer' |
| BIGINT | LongType | egész szám (1) | 'long' |
| FLOAT | FloatType | numerikus (1) | 'float' |
| DOUBLE | DoubleType | numeric | 'double' |
| DECIMAL(p,s) | DecimalType | Nem támogatott | Nem támogatott |
| STRING | StringType | karakter | 'string' |
| BINARY | BinaryType | raw | 'binary' |
| BOOLEAN | BooleanType | logical | 'bool' |
| TIMESTAMP | TimestampType | POSIXct | 'timestamp' |
| TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
| DATE | DateType | Date | 'date' |
| év-hónap intervallum | YearMonthIntervalType | Nem támogatott | Nem támogatott |
| napi időintervallum | DayTimeIntervalType | Nem támogatott | Nem támogatott |
| GEOGRAPHY(srid) | Nem támogatott | Nem támogatott | Nem támogatott |
| GEOMETRIA(srid) | Nem támogatott | Nem támogatott | Nem támogatott |
| ARRAY | ArrayType | vektor vagy lista | list(type='array', elementType=elementType, containsNull=[containsNull]). (2) |
| MAP | MapType | környezet | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]). (2) |
| STRUCT | StructType | névvel ellátott lista | list(type='struct', fields=fields). A mezők egy sorozata a StructField-nek. (4) |
| StructField | A mező adattípusának értéktípusa (például egész szám egy IntegerType adattípusú StructField esetén) | list(name=name, type=dataType, nullable=[nullable]). (4) | |
| VARIANT | Nem támogatott | Nem támogatott | Nem támogatott |
| OBJECT | Nem támogatott | Nem támogatott | Nem támogatott |
(1) A számok futásidőben lesznek átalakítva a tartományba. Győződjön meg arról, hogy a számok tartományon belül vannak.
(2) Az opcionális érték alapértelmezés szerint a következő.TRUE
(3) Intervallumtípusok
YearMonthIntervalType([startField,] endField): Egy év-hónap intervallumot jelöl, amely a következő mezők egy összefüggő részhalmazából áll:startFielda bal szélső mező, ésendFielda típus jobb szélső mezője. "startField,endFieldérvényes értékei a0(MONTH)és a1(YEAR)."DayTimeIntervalType([startField,] endField): Egy nap-idő intervallumot jelöl, amely a következő mezők egy összefüggő részhalmazából áll:startFielda bal szélső mező, ésendFielda típus jobb szélső mezője. Érvényes értékek a következők:startFieldendField0(DAY),1(HOUR),2(MINUTE).3(SECOND)
(4)StructType
-
StructType(fields)Az értékeket egy olyan struktúra képviseli, amelyetStructField(mezők) sorozata, listája vagy tömbje ír le. Két azonos nevű mező nem engedélyezett. -
StructField(name, dataType, nullable)Egy mezőt képvisel egyStructType-ben. A mező nevét a következő jelöli:name. A mező adattípusát a dataType jelöli.nullableazt jelzi, hogy ezeknek a mezőknek az értékei tartalmazhatnak-enullértékeket. Ez az alapértelmezett beállítás.