Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime
Veri türleri arasındaki çakışmaların nasıl çözümleneceğine ilişkin kurallar için bkz . SQL veri türü kuralları.
Desteklenen veri türleri
Azure Databricks aşağıdaki veri türlerini destekler:
| Veri Türü | Description |
|---|---|
| BIGINT | 8 bayt imzalı tamsayı sayılarını temsil eder. |
| BINARY | Bayt dizisi değerlerini temsil eder. |
| BOOLEAN | Boole değerlerini temsil eder. |
| DATE | Saat dilimi olmadan yıl, ay ve gün alanlarının değerlerini içeren değerleri temsil eder. |
| DECIMAL(p,s) | Maksimum duyarlık p ve sabit ölçek sile sayıları temsil eder. |
| DOUBLE | 8 baytlık çift duyarlıklı kayan nokta sayılarını temsil eder. |
| FLOAT | 4 baytlık tek duyarlıklı kayan nokta sayılarını temsil eder. |
| INT | 4 bayt imzalı tamsayı sayılarını temsil eder. |
| INTERVAL intervalQualifier | Saniye veya ay ölçeğinde zaman aralıklarını temsil eder. |
| VOID | Yazılmamış NULL değerini temsil eder. |
| SMALLINT | 2 bayt imzalı tamsayı sayılarını temsil eder. |
| STRING | Karakter dizesi değerlerini temsil eder. |
| TIMESTAMP | Oturum yerel saat dilimiyle yıl, ay, gün, saat, dakika ve saniye alanlarının değerlerini içeren değerleri temsil eder. |
| TIMESTAMP_NTZ | Yıl, ay, gün, saat, dakika ve saniye alanlarının değerlerini içeren değerleri temsil eder. Tüm işlemler hiçbir saat dilimi dikkate alınmadan gerçekleştirilir. |
| TINYINT | 1 bayt imzalı tamsayı sayılarını temsil eder. |
| GEOGRAPHY(srid) | Koordinat referans sistemi coğrafi (enlem ve boylam derece cinsinden) olan ve srid değeri tarafından tanımlanan coğrafya değerlerini temsil eder.
srid değeri ANY olarak ayarlanırsa, koordinat referans sistemi türde sabit kodlanmaz ve çalışma zamanı değeri haline gelir. |
| GEOMETRY(srid) | Koordinat referans sistemi Kartezyen olarak anlaşılan ve srid değeri ile tanımlanan geometri değerlerini temsil eder.
srid değeri ANY olarak ayarlanırsa, koordinat referans sistemi türde sabit kodlanmaz ve çalışma zamanı değeri haline gelir. |
| ARRAY < elementType > |
elementTypetürüne sahip bir öğe dizisini oluşturan değerleri temsil eder. |
| MAP < keyType,valueType > | Anahtar-değer çiftleri kümesini oluşturan değerleri temsil eder. |
| STRUCT < [fieldName : fieldType [NOT NULL][AÇIKLAMA str][, ...]] > | Bir alan dizisi tarafından açıklanan yapıya sahip değerleri temsil eder. |
| VARIANT | Yarı yapılandırılmış verileri temsil eder. |
| OBJECT | Bir alan kümesi tarafından açıklanan yapı ile VARIANT içindeki değerleri temsil eder. |
Important
Delta Lake, VOID türünü desteklemiyor.
Veri türü sınıflandırması
Veri türleri aşağıdaki sınıflarda gruplandırılır:
Tamsayı sayısal türler
Tam sayısal türler, tam sayıları temsil eder.
Tam sayısal türler
Kesin sayısal türler, 10 tabanında sayıları temsil eder.
İkili kayan nokta türleri
İkili kayan nokta türleri, sayıların geniş bir aralığını kapsamak için üs ve ikili gösterim kullanır.
Sayısal türler
Sayısal türler tüm sayısal veri türlerini temsil eden:
Tarih-saat türleri
Tarih-saat türleri tarih ve saat bileşenlerini temsil eder:
Jeo-uzamsal türler
Jeo-uzamsal türler geometrik veya coğrafi nesneleri temsil eder:
Basit türler
Basit türler, tek değer tutularak tanımlanan türlerdir:
Karmaşık türler
Karmaşık türler, karmaşık veya basit türlerin birden çok bileşeninden oluşur:
Dil eşlemeleri
Şunlar için geçerlidir:
Databricks Runtime
Scala
Spark SQL veri türleri paketinde org.apache.spark.sql.typestanımlanır. Paketi içeri aktararak bunlara erişebilirsiniz:
import org.apache.spark.sql.types._
| SQL türü | Veri türü | Değer türü | Veri türüne erişmek veya veri türü oluşturmak için API |
|---|---|---|---|
| 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 |
| yıl-ay aralığı | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| gün-saat aralığı | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | Coğrafya Türü | org.apache.spark.unsafe.type.GeographyVal | CoğrafyaTürü |
| GEOMETRY(srid) | GeometryType | org.apache.spark.unsafe.type.GeometryVal | GeometryType |
| ARRAY | ArrayType | scala.collection.Seq | DiziTürü(elemanTürü [, boşlukİçerir]). (2) |
| MAP | MapType | scala.collection.Map | MapType(keyType, valueType [, valueContainsNull]) (AnahtarTürü, DeğerTürü [, DeğerNull içerebilir]) (2) |
| STRUCT | StructType | org.apache.spark.sql.Row | StructType(fields). alanlar, StructField'ın Seq'larıdır. 4. |
| StructField | Bu alanın veri türünün değer türü (Örneğin, IntegerType veri türüne sahip bir StructField için Int) | StructField(ad, veriTürü [, boşOlabılır]). 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Desteklenmiyor | Desteklenmez | Desteklenmez |
Java
Spark SQL veri türleri paketinde org.apache.spark.sql.typestanımlanır. Veri türüne erişmek veya veri türü oluşturmak için içinde org.apache.spark.sql.types.DataTypessağlanan fabrika yöntemlerini kullanın.
| SQL türü | Veri Türü | Değer türü | Veri türüne erişmek veya veri türü oluşturmak için API |
|---|---|---|---|
| TINYINT | ByteType | Byte veya bayt | DataTypes.ByteType |
| SMALLINT | ShortType | kısa veya Kısa | DataTypes.ShortType |
| INT | IntegerType | int veya Integer | DataTypes.IntegerType |
| BIGINT | LongType | uzun veya Uzun | DataTypes.LongType |
| FLOAT | FloatType | float veya Float | DataTypes.FloatType |
| DOUBLE | DoubleType | çift veya Double | DataTypes.DoubleType |
| DECIMAL(p,s) | DecimalType | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(precision, scale) (precision, sayının toplam basamak sayısını, scale ise ondalık basamak sayısını belirtir). |
| STRING | StringType | String | DataTypes.StringType |
| BINARY | BinaryType | byte[] | DataTypes.BinaryType |
| BOOLEAN | BooleanType | boolean veya 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 |
| yıl-ay aralığı | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| gün-saat aralığı | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | CoğrafyaTürü | org.apache.spark.unsafe.type.GeographyVal | GeographyTipi |
| 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). alanlar, bir Liste veya StructField dizisi olarak ifade edilir. 4 |
| StructField | Bu alanın veri türünün değer türü (Örneğin, IntegerType veri türüne sahip bir StructField için int) | DataTypes.createStructField(name, dataType, nullable) 4 | |
| VARIANT | VariantType | org.apache.spark.unsafe.type.VariantVal | VariantType |
| OBJECT | Desteklenmiyor | Desteklenmez | Desteklenmez |
Python
Spark SQL veri türleri paketinde pyspark.sql.typestanımlanır. Paketi içeri aktararak bunlara erişebilirsiniz:
from pyspark.sql.types import *
| SQL türü | Veri türü | Değer türü | Veri türüne erişmek veya veri türü oluşturmak için API |
|---|---|---|---|
| TINYINT | ByteType | int veya long. (1) | ByteType() |
| SMALLINT | ShortType | int veya long. (1) | ShortType() |
| INT | IntegerType | int veya 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() |
| yıl-ay aralığı | YearMonthIntervalType | Desteklenmez | Desteklenmez |
| gün-saat aralığı | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
| GEOGRAPHY(srid) | Coğrafya Türü | GeographyVal | GeographyType() |
| GEOMETRY(srid) | GeometryType | GeometryVal | GeometryType() |
| ARRAY | ArrayType | liste, tuple veya dizi | ArrayType(elementType, [containsNull]). (2) |
| MAP | MapType | dict | MapType(keyType, valueType, [valueContainsNull]). (2) |
| STRUCT | StructType | liste veya tuple | StructType(fields). alan, StructField dizisinin bir bileşenidir. (4) |
| StructField | Bu alanın veri türünün değer türü (Örneğin, IntegerType veri türüne sahip bir StructField için Int) | StructField(name, dataType, [nullable]). (4) | |
| VARIANT | VariantType | VariantVal | VariantType() |
| OBJECT | Desteklenmiyor | Desteklenmez | Desteklenmez |
R
| SQL türü | Veri türü | Değer türü | Veri türüne erişmek veya veri türü oluşturmak için API |
|---|---|---|---|
| TINYINT | ByteType | tamsayı (1) | 'byte' |
| SMALLINT | ShortType | tamsayı (1) | 'short' |
| INT | IntegerType | integer | 'integer' |
| BIGINT | LongType | tamsayı (1) | 'long' |
| FLOAT | FloatType | sayısal (1) | 'float' |
| DOUBLE | DoubleType | numeric | 'double' |
| DECIMAL(p,s) | DecimalType | Desteklenmez | Desteklenmez |
| 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' |
| yıl-ay aralığı | YearMonthIntervalType | Desteklenmez | Desteklenmez |
| gün-saat aralığı | DayTimeIntervalType | Desteklenmez | Desteklenmez |
| GEOGRAPHY(srid) | Desteklenmez | Desteklenmez | Desteklenmez |
| GEOMETRY(srid) | Desteklenmez | Desteklenmez | Desteklenmez |
| ARRAY | ArrayType | vektör veya liste | list(type='array', elementType=elementType, containsNull=[containsNull]). (2) |
| MAP | MapType | environment | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]). (2) |
| STRUCT | StructType | adlandırılmış liste | liste(tip='yapı', alanlar=alanlar). alanlar, StructField'ın Seq'larıdır. (4) |
| StructField | Bu alanın veri türünün değer türü (Örneğin, IntegerType veri türüne sahip bir StructField için tamsayı) | list(name=name, type=dataType, nullable=[nullable]). (4) | |
| VARIANT | Desteklenmiyor | Desteklenmez | Desteklenmez |
| OBJECT | Desteklenmiyor | Desteklenmez | Desteklenmez |
(1) Sayılar çalışma zamanında etki alanına dönüştürülür. Sayıların aralık içinde olduğundan emin olun.
(2) İsteğe bağlı değer varsayılan olarak olur TRUE.
(3) Aralık türleri
YearMonthIntervalType([startField,] endField): Aşağıdaki alanların bitişik bir alt kümesinden oluşan yıl-ay aralığını temsil eder:startFielden soldaki alan veendFieldtürün en sağdaki alanıdır.startFieldveendFieldiçin geçerli değerler0(MONTH)ve1(YEAR)'dir.DayTimeIntervalType([startField,] endField): Aşağıdaki alanların bitişik bir alt kümesinden oluşan bir gün-saat aralığını temsil eder:startFielden soldaki alan veendFieldtürün en sağdaki alanıdır. GeçerlistartFieldveendFielddeğerleri0(DAY),1(HOUR),2(MINUTE),3(SECOND).
(4)StructType
-
StructType(fields)Bir dizi, liste veya s dizisi (alanlar) tarafından açıklanan yapıyaStructFieldsahip değerleri temsil eder. Aynı isme sahip iki alana izin verilmiyor. -
StructField(name, dataType, nullable)içindeki birStructTypealanı temsil eder. Bir alanın adı ilenamegösterilir. Bir alanın veri türü dataType ile gösterilir.nullable, bu alanlarınnulldeğerlere sahip olup olmadığını gösterir. Bu varsayılan seçenektir.