Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Databricks Runtime
Aby uzyskać reguły dotyczące sposobu rozwiązywania konfliktów między typami danych, zobacz Reguły typów danych SQL.
Obsługiwane typy danych:
Usługa Azure Databricks obsługuje następujące typy danych:
| Typ danych | Description |
|---|---|
| BIGINT | Reprezentuje 8-bajtowe liczby całkowite ze znakiem. |
| BINARY | Reprezentuje wartości sekwencji bajtów. |
| BOOLEAN | Reprezentuje wartości logiczne. |
| DATE | Reprezentuje wartości składające się z wartości pól rok, miesiąc i dzień bez strefy czasowej. |
| DECIMAL(p,s) | Reprezentuje liczby o maksymalnej precyzji p i stałej skali s. |
| DOUBLE | Reprezentuje 8-bajtowe liczby zmiennoprzecinkowe o podwójnej precyzji. |
| FLOAT | Reprezentuje 4-bajtowe liczby zmiennoprzecinkowe o pojedynczej precyzji. |
| INT | Reprezentuje 4-bajtowe liczby całkowite ze znakiem. |
| Interwał interwałuQualifier | Reprezentuje interwały czasu w skali sekund lub miesięcy. |
| VOID | Reprezentuje nietypowaną wartość NULL. |
| SMALLINT | Reprezentuje 2-bajtowe liczby całkowite ze znakiem. |
| STRING | Reprezentuje wartości ciągów znaków. |
| TIMESTAMP | Reprezentuje wartości składające się z wartości pól rok, miesiąc, dzień, godzina, minuta i sekunda z lokalną strefą czasową sesji. |
| TIMESTAMP_NTZ | Reprezentuje wartości składające się z wartości pól rok, miesiąc, dzień, godzina, minuta i sekunda. Wszystkie operacje są wykonywane bez uwzględniania strefy czasowej. |
| TINYINT | Reprezentuje jednobajtowe liczby całkowite ze znakiem. |
| GEOGRAPHY (srid) | Reprezentuje wartości geograficzne, których układ odniesienia współrzędnych jest geograficzny (długość geograficzna i szerokość geograficzna w stopniach) i jest definiowany srid przez wartość . Jeśli srid jest ustawiony na ANY, system odniesienia współrzędnych nie jest zakodowany w typie i staje się wartością w czasie wykonywania. |
| GEOMETRY(srid) | Reprezentuje wartości geometryczne, których układ odniesienia współrzędnych jest rozumiany jako kartezjański i jest definiowany przez wartość srid. Jeśli srid jest ustawiony na ANY, system odniesienia współrzędnych nie jest zakodowany w typie i staje się wartością w czasie wykonywania. |
| ARRAY < , typ elementu > | Reprezentuje wartości składające się z sekwencji elementów o typie elementType. |
| MAP < keyType,valueType > | Reprezentuje wartości składające się z zestawu par klucz-wartość. |
| < Struktura [fieldName: fieldType [NOT NULL][COMMENT str][, ...]] > | Reprezentuje wartości ze strukturą opisaną przez sekwencję pól. |
| VARIANT | Reprezentuje dane częściowo ustrukturyzowane. |
| OBJECT | Reprezentuje wartości w obiekcie VARIANT ze strukturą opisaną przez zestaw pól. |
Important
Delta Lake nie obsługuje typu VOID.
Klasyfikacja typów danych
Typy danych są pogrupowane w następujące klasy:
Typy liczb całkowitych
Typy liczb całkowitych reprezentują liczby całkowite:
Dokładne typy liczbowe
Dokładne typy liczbowe reprezentują liczby base-10:
Typy zmiennoprzecinkowe binarne
Binarne typy zmiennoprzecinkowe używają wykładników i reprezentacji binarnej do pokrycia dużego zakresu liczb:
Typy liczbowe
Typy liczbowe reprezentują wszystkie typy danych liczbowych:
Typy daty i godziny
Typy daty i godziny reprezentują składniki daty i godziny:
Typy geoprzestrzenne
Typy geoprzestrzenne reprezentują obiekty geometryczne lub geograficzne:
Typy proste
Proste typy są typami zdefiniowanymi przez przechowywanie pojedynczych wartości:
Typy złożone
Złożone typy składają się z wielu składników złożonych lub prostych typów:
Mapowania języków
Dotyczy:
Databricks Runtime
Scala
Typy danych Spark SQL są definiowane w pakiecie org.apache.spark.sql.types. Uzyskujesz do nich dostęp, importując pakiet:
import org.apache.spark.sql.types._
| Typ SQL | Typ danych | Typ wartości | Interfejs API umożliwiający uzyskiwanie dostępu do typu danych lub tworzenie go |
|---|---|---|---|
| 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 | logiczny | BooleanType |
| TIMESTAMP | TimestampType | java.sql.Timestamp | TimestampType |
| TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | TimestampNTZType |
| DATE | DateType | java.sql.Date | DateType |
| interwał miesiąca roku | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| Interwał dnia | DayTimeIntervalType | java.time.Duration | TypPrzedziałuCzasuDnia (3) |
| GEOGRAPHY (srid) | GeographyType | org.apache.spark.unsafe.type.GeographyVal | TypGeografii |
| GEOMETRY(srid) | GeometryType | org.apache.spark.niebezpieczne.type.GeometryVal | GeometryType |
| ARRAY | ArrayType | scala.collection.Seq | ArrayType(typElementu [, zawieraNull]). (2) |
| MAP | MapType | scala.collection.Map | MapType(typKlucza, typWartości [, wartośćZawieraNull]). (2) |
| STRUCT | StructType | org.apache.spark.sql.Row | StructType(fields). Pola to sekwencja StructField. 4. |
| StructField | Typ wartości typu danych tego pola (na przykład Int dla pola struktury z typem danych IntegerType) | StructField(name, dataType [, nullable]). 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Nie jest obsługiwany | Niewspierane | Niewspierane |
Java
Typy danych Spark SQL są definiowane w pakiecie org.apache.spark.sql.types. Aby uzyskać dostęp do typu danych lub utworzyć go, użyj metod fabrycznych podanych w pliku org.apache.spark.sql.types.DataTypes.
| Typ SQL | Typ danych | Typ wartości | Interfejs API umożliwiający uzyskiwanie dostępu do typu danych lub tworzenie go |
|---|---|---|---|
| TINYINT | ByteType | bajt lub bajt | DataTypes.ByteType |
| SMALLINT | ShortType | krótki lub Krótki | DataTypes.ShortType |
| INT | IntegerType | int lub liczba całkowita | DataTypes.IntegerType |
| BIGINT | LongType | długi lub Long | DataTypes.LongType |
| FLOAT | FloatType | float lub Float | DataTypes.FloatType |
| DOUBLE | DoubleType | podwójna lub Double | DataTypes.DoubleType |
| DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(precyzja, skala). |
| STRING | StringType | String | DataTypes.StringType |
| BINARY | BinaryType | byte[] | DataTypes.BinaryType |
| BOOLEAN | BooleanType | boolean lub 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 |
| interwał miesiąca roku | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| Interwał dnia | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY (srid) | TypGeograficzny | org.apache.spark.unsafe.type.GeographyVal | TypGeografii |
| GEOMETRY(srid) | GeometryType | org.apache.spark.niebezpieczne.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). pola to lista lub tablica obiektu StructField. 4 |
| StructField | Typ wartości typu danych tego pola (na przykład int dla pola StructField z typem danych IntegerType) | DataTypes.createStructField(name, dataType, nullable) 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Nie jest obsługiwany | Niewspierane | Niewspierane |
Python
Typy danych Spark SQL są definiowane w pakiecie pyspark.sql.types. Uzyskujesz do nich dostęp, importując pakiet:
from pyspark.sql.types import *
| Typ SQL | Typ danych | Typ wartości | Interfejs API umożliwiający uzyskiwanie dostępu do typu danych lub tworzenie go |
|---|---|---|---|
| TINYINT | ByteType | int lub long. (1) | ByteType() |
| SMALLINT | ShortType | int lub long. (1) | ShortType() |
| INT | IntegerType | int lub long | IntegerType() |
| BIGINT | LongType | długość (1) | LongType() |
| FLOAT | FloatType | float (1) | FloatType() |
| DOUBLE | DoubleType | float | DoubleType() |
| DECIMAL(p,s) | DecimalType | decimal.Decimal | DecimalType() |
| STRING | StringType | ciąg | 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() |
| interwał miesiąca roku | YearMonthIntervalType | Niewspierane | Niewspierane |
| Interwał dnia | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
| GEOGRAPHY (srid) | TypGeografii | GeographyVal | GeographyType() |
| GEOMETRY(srid) | GeometryType | GeometryVal | GeometryType() |
| ARRAY | ArrayType | lista, tupla lub tablica | ArrayType(elementType, [containsNull]). (2) |
| MAP | MapType | dict | MapType(keyType, valueType, [valueContainsNull]). (2) |
| STRUCT | StructType | lista lub krotka | StructType(fields). pole jest sekwencją StructField. (4) |
| StructField | Typ wartości typu danych tego pola (na przykład Int dla pola StructField z typem danych IntegerType) | StructField(name, dataType, [nullable]). (4) | |
| VARIANT | VariantType | VariantVal | VariantType() |
| OBJECT | Nie jest obsługiwany | Niewspierane | Niewspierane |
R
| Typ SQL | Typ danych | Typ wartości | Interfejs API umożliwiający uzyskiwanie dostępu do typu danych lub tworzenie go |
|---|---|---|---|
| TINYINT | ByteType | Liczba całkowita (1) | 'byte' |
| SMALLINT | ShortType | Liczba całkowita (1) | 'short' |
| INT | IntegerType | liczba całkowita | 'integer' |
| BIGINT | LongType | Liczba całkowita (1) | 'long' |
| FLOAT | FloatType | numeryczne (1) | 'float' |
| DOUBLE | DoubleType | numeric | 'double' |
| DECIMAL(p,s) | DecimalType | Niewspierane | Niewspierane |
| STRING | StringType | znak | 'string' |
| BINARY | BinaryType | raw | 'binary' |
| BOOLEAN | BooleanType | logical | 'bool' |
| TIMESTAMP | TimestampType | POSIXct | 'timestamp' |
| TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
| DATE | DateType | Date | 'date' |
| interwał miesiąca roku | YearMonthIntervalType | Niewspierane | Niewspierane |
| Interwał dnia | DayTimeIntervalType | Niewspierane | Niewspierane |
| GEOGRAPHY (srid) | Niewspierane | Niewspierane | Niewspierane |
| GEOMETRY(srid) | Niewspierane | Niewspierane | Niewspierane |
| ARRAY | ArrayType | wektor lub lista | list(type='array', elementType=elementType, containsNull=[containsNull]). (2) |
| MAP | MapType | środowisko | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]). (2) |
| STRUCT | StructType | nazwana lista | list(type='struct', fields=fields). Pola to sekwencja StructField. (4) |
| StructField | Typ wartości typu danych tego pola (na przykład liczba całkowita dla pola StructField z typem danych IntegerType) | list(name=name, type=dataType, nullable=[nullable]). (4) | |
| VARIANT | Nie jest obsługiwany | Niewspierane | Niewspierane |
| OBJECT | Nie jest obsługiwany | Niewspierane | Niewspierane |
(1) Liczby są konwertowane na domenę w czasie działania programu. Upewnij się, że liczby znajdują się w zakresie.
(2) Opcjonalna wartość domyślna to TRUE.
(3) Typy interwałów
YearMonthIntervalType([startField,] endField): Reprezentuje interwał rok-miesiąc, który składa się z ciągłego podzbioru następujących pól:startFieldjest polem najdalej po lewej stronie iendFieldjest najbardziej prawym polem typu. Prawidłowe wartościstartFieldorazendFieldto0(MONTH)i1(YEAR).DayTimeIntervalType([startField,] endField): Reprezentuje interwał dnia składający się z ciągłego podzestawu następujących pól:startFieldjest polem najdalej po lewej stronie iendFieldjest najbardziej prawym polem typu. Prawidłowe wartości dlastartFieldiendFieldto0(DAY),1(HOUR),2(MINUTE),3(SECOND).
(4)StructType
-
StructType(fields)Reprezentuje wartości ze strukturą opisaną przez sekwencję, listę lub tablicęStructField(pól). Dwa pola o tej samej nazwie są niedozwolone. -
StructField(name, dataType, nullable)Reprezentuje pole w obiekcieStructType. Nazwa pola jest wskazywana przezname. Typ danych pola jest wskazywany przez typ danych.nullablewskazuje, czy wartości tych pól mogą miećnullwartości. Jest to opcja domyślna.