Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Databricks SQL
Databricks Runtime
Untuk aturan yang mengatur bagaimana konflik antara jenis data diselesaikan, lihat Aturan jenis data SQL.
Tipe data yang didukung
Azure Databricks mendukung jenis data berikut:
Jenis Data | Deskripsi |
---|---|
BIGINT | Mewakili nomor bilangan bulat bertanda 8 byte. |
BINER | Mewakili nilai dari urutan byte. |
BOOLEAN | Mewakili nilai Boolean. |
TANGGAL | Mewakili nilai yang terdiri dari nilai bidang tahun, bulan dan hari, tanpa zona waktu. |
DECIMAL(p,s) | Mewakili angka dengan presisi maksimum p dan skala tetap s . |
DOBEL | Mewakili bilangan titik kambang presisi ganda 8 byte. |
MENGAPUNG | Mewakili bilangan titik kambang presisi tunggal 4 byte. |
INT | Mewakili bilangan bulat bertanda 4-byte. |
INTERVAL intervalQualifier | Mewakili interval waktu baik pada skala detik atau bulan. |
KOSONG | Mewakili nilai NULL yang tidak diketik. |
SMALLINT | Mewakili bilangan bulat bertanda 2-byte. |
string | Mewakili nilai string karakter. |
TIMESTAMP | Mewakili nilai yang terdiri dari nilai bidang tahun, bulan, hari, jam, menit, dan detik, dengan zona waktu lokal sesi. |
TIMESTAMP_NTZ | Mewakili nilai yang terdiri dari nilai bidang tahun, bulan, hari, jam, menit, dan detik. Semua operasi dilakukan tanpa memperhitungkan zona waktu apa pun. |
TINYINT | Mewakili nomor bilangan bulat bertanda 1 byte. |
ARRAY < elementType > | Mewakili nilai yang terdiri dari urutan elemen dengan jenis elementType . |
MAP < keyType,valueType > | Mewakili nilai yang terdiri dari sekumpulan pasangan kunci-nilai. |
STRUCT < [fieldName : fieldType [NOT NULL][COMMENT str][, ...]] > | Mewakili nilai dengan struktur yang dijelaskan oleh urutan bidang. |
VARIAN | Mewakili data semi-terstruktur. |
BENDA | Mewakili nilai dalam VARIANT dengan struktur yang dijelaskan oleh sekumpulan bidang. |
Penting
Delta Lake tidak mendukung jenis tersebut VOID
.
Klasifikasi jenis data
Jenis data dikelompokkan ke dalam kelas-kelas berikut:
- Jenis numerik yang tepat mewakili angka base-10:
- Jenis titik mengambang biner menggunakan eksponen dan representasi biner untuk mencakup sejumlah besar angka:
- Jenis numerik mewakili semua jenis data numerik:
- Jenis tanggal-waktu mewakili komponen tanggal dan waktu:
- Jenis yang sederhana adalah jenis yang didefinisikan dengan menampung nilai-nilai tunggal:
- Jenis kompleks terdiri dari beberapa komponen dari jenis kompleks atau sederhana:
Pemetaan bahasa
Berlaku untuk: Databricks Runtime
Scala
Jenis data Spark SQL ditentukan dalam paket org.apache.spark.sql.types
. Anda mengaksesnya dengan mengimpor paket:
import org.apache.spark.sql.types._
Jenis SQL | Jenis Data | Jenis nilai | API untuk mengakses atau membuat jenis data |
---|---|---|---|
TINYINT | ByteType | Bita | ByteType |
SMALLINT | ShortType | Pendek | ShortType |
INT | Tipe Integer | Integer | Tipe Integer |
BIGINT | Tipe Panjang | Panjang | Tipe Panjang |
MENGAPUNG | FloatType | Mengapung | FloatType |
DOBEL | DoubleType | Ganda | DoubleType |
DECIMAL(p,s) | TipeDesimal | java.math.BigDecimal | TipeDesimal |
string | StringType | string | StringType |
BINER | BinaryType | Array[Bita] | BinaryType |
BOOLEAN | BooleanType | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | BooleanType |
TIMESTAMP | Tipe Penanda Waktu | java.sql.Timestamp | Tipe Penanda Waktu |
TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | TimestampNTZType |
TANGGAL | TipeTanggal | java.sql.Date | TipeTanggal |
interval bulan tahunan | JenisIntervalTahunBulan | java.time.Period | JenisIntervalTahunBulan (3) |
interval waktu sehari | JenisIntervalWaktuSiang | java.time.Duration | DayTimeIntervalType (3) |
ARRAY | ArrayType | scala.collection.Seq | ArrayType(tipeElemen [, mengandungNull]). (2) |
PETA | JenisPeta | scala.collection.Map | MapType(keyType, valueType [, valueContainsNull]). (2) |
STRUKTUR | StructType | org.apache.spark.sql.Row | StructType(bidang). bidang adalah Seq dari StructField. 4. |
StructField | Jenis nilai dari jenis data bidang ini (Misalnya, Int untuk StructField dengan tipe data IntegerType) | StructField(name, dataType [, nullable]). 4 | |
VARIAN | JenisVarian | org.apache.spark.unsafe.type.VariantVal | JenisVarian |
BENDA | Tidak Didukung | Tidak didukung | Tidak didukung |
Jawa
Jenis data Spark SQL ditentukan dalam paket org.apache.spark.sql.types
. Untuk mengakses atau membuat tipe data, gunakan metode pabrik yang disediakan di org.apache.spark.sql.types.DataTypes
.
Jenis SQL | Jenis Data | Jenis nilai | API untuk mengakses atau membuat jenis data |
---|---|---|---|
TINYINT | ByteType | byte atau Byte | DataTypes.ByteType |
SMALLINT | ShortType | short atau Short | DataTypes.ShortType |
INT | Tipe Integer | int atau Integer | DataTypes.IntegerType |
BIGINT | Tipe Panjang | panjang atau Long | DataTypes.LongType |
MENGAPUNG | FloatType | float atau Float | DataTypes.FloatType |
DOBEL | DoubleType | ganda atau Double | DataTypes.DoubleType |
DECIMAL(p,s) | TipeDesimal | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(presisi, skala). |
string | StringType | string | DataTypes.StringType |
BINER | BinaryType | (byte[]) | DataTypes.BinaryType |
BOOLEAN | BooleanType | boolean atau Boolean | DataTypes.BooleanType |
TIMESTAMP | Tipe Penanda Waktu | java.sql.Timestamp | DataTypes.TimestampType |
TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | DataTypes.TimestampNTZType |
TANGGAL | TipeTanggal | java.sql.Date | TipeData.TanggalType |
interval bulan tahunan | JenisIntervalTahunBulan | java.time.Period | JenisIntervalTahunBulan (3) |
interval waktu sehari | JenisIntervalWaktuSiang | java.time.Duration | DayTimeIntervalType (3) |
ARRAY | ArrayType | ava.util.List | DataTypes.createArrayType(elementType [, containsNull]). (2) |
PETA | JenisPeta | java.util.Map | DataTypes.createMapType(keyType, valueType [, valueContainsNull]). (2) |
STRUKTUR | StructType | org.apache.spark.sql.Row | DataTypes.createStructType(fields). Fields adalah daftar atau array dari StructField. 4 |
StructField | Jenis nilai dari jenis data bidang ini (Misalnya, int untuk StructField dengan jenis data IntegerType) | DataTypes.createStructField(name, dataType, nullable) 4 | |
VARIAN | JenisVarian | org.apache.spark.unsafe.type.VariantVal | JenisVarian |
BENDA | Tidak Didukung | Tidak didukung | Tidak didukung |
Phyton
Jenis data Spark SQL ditentukan dalam paket pyspark.sql.types
. Anda mengaksesnya dengan mengimpor paket:
from pyspark.sql.types import *
Jenis SQL | Jenis Data | Jenis nilai | API untuk mengakses atau membuat jenis data |
---|---|---|---|
TINYINT | ByteType | int atau long. (1) | ByteType() |
SMALLINT | ShortType | int atau long. (1) | ShortType() |
INT | Tipe Integer | int atau long | IntegerType() |
BIGINT | Tipe Panjang | panjang (1) | LongType() |
MENGAPUNG | FloatType | float (1) | FloatType() |
DOBEL | DoubleType | mengambang | DoubleType() |
DECIMAL(p,s) | TipeDesimal | desimal. Desimal | DecimalType() |
string | StringType | benang | StringType() |
BINER | BinaryType | bytearray | BinaryType() |
BOOLEAN | BooleanType | bool | BooleanType() |
TIMESTAMP | Tipe Penanda Waktu | datetime.datetime | TimestampType() |
TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
TANGGAL | TipeTanggal | datetime.date (tanggal waktu) | DateType() |
interval bulan tahunan | JenisIntervalTahunBulan | Tidak didukung | Tidak didukung |
interval waktu sehari | JenisIntervalWaktuSiang | datetime.timedelta | DayTimeIntervalType (3) |
ARRAY | ArrayType | list, tuple, atau array | ArrayType(elementType, [containsNull]). (2) |
PETA | JenisPeta | kamus | MapType(keyType, valueType, [valueContainsNull]). (2) |
STRUKTUR | StructType | daftar atau tuple | StructType(bidang). bidang adalah Seq dari StructField. (4) |
StructField | Jenis nilai dari jenis data bidang ini (Misalnya, Int untuk StructField dengan jenis data IntegerType) | StructField(name, dataType, [nullable]). (4) | |
VARIAN | JenisVarian | VarianVal | VariantType() |
BENDA | Tidak Didukung | Tidak didukung | Tidak didukung |
R
Jenis SQL | Jenis Data | Jenis nilai | API untuk mengakses atau membuat jenis data |
---|---|---|---|
TINYINT | ByteType | bilangan bulat (1) | byte |
SMALLINT | ShortType | bilangan bulat (1) | pendek |
INT | Tipe Integer | Bilangan bulat | 'bilangan bulat' |
BIGINT | Tipe Panjang | bilangan bulat (1) | 'panjang' |
MENGAPUNG | FloatType | numerik (1) | 'mengapung' |
DOBEL | DoubleType | numerik | 'ganda' |
DECIMAL(p,s) | TipeDesimal | Tidak didukung | Tidak didukung |
string | StringType | karakter | string |
BINER | BinaryType | mentah | 'biner' |
BOOLEAN | BooleanType | logis | 'bool' |
TIMESTAMP | Tipe Penanda Waktu | POSIXct | 'tanda waktu' |
TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
TANGGAL | TipeTanggal | Tanggal | 'tanggal' |
interval bulan tahunan | JenisIntervalTahunBulan | Tidak didukung | Tidak didukung |
interval waktu sehari | JenisIntervalWaktuSiang | Tidak didukung | Tidak didukung |
ARRAY | ArrayType | vektor atau daftar | list(type='array', elementType=elementType, containsNull=[containsNull]). (2) |
PETA | JenisPeta | lingkungan | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]). (2) |
STRUKTUR | StructType | daftar yang diberi nama | daftar(tipe='struct', bidang=fields). bidang adalah Seq dari StructField. (4) |
StructField | Jenis nilai dari jenis data bidang ini (Misalnya, bilangan bulat untuk StructField dengan jenis data IntegerType) | list(name=name, type=dataType, nullable=[nullable]). (4) | |
VARIAN | Tidak Didukung | Tidak didukung | Tidak didukung |
BENDA | Tidak Didukung | Tidak didukung | Tidak didukung |
(1) Angka dikonversi ke domain saat runtime. Pastikan bahwa angka berada dalam jangkauan.
(2) Nilai opsional ditetapkan secara default ke TRUE
.
(3) Jenis interval
YearMonthIntervalType([startField,] endField)
: Mewakili interval tahun-bulan yang terdiri dari subset yang berdampingan dari bidang-bidang berikut:startField
adalah bidang paling kiri, danendField
merupakan bidang paling kanan dari jenis tersebut. Nilai-nilai yang valid untukstartField
danendField
adalah0(MONTH)
dan1(YEAR)
.DayTimeIntervalType([startField,] endField)
: Mewakili interval waktu siang-hari yang terdiri dari subset berturut-turut dari bidang-bidang berikut:startField
adalah bidang paling kiri, danendField
merupakan bidang paling kanan dari jenis tersebut. NilaistartField
danendField
yang valid adalah0(DAY)
,1(HOUR)
,2(MINUTE)
,3(SECOND)
.
(4)StructType
-
StructType(fields)
Mewakili nilai dengan struktur yang dijelaskan melalui urutan, daftar, atau arrayStructField
(bidang). Dua bidang dengan nama yang sama tidak diizinkan. -
StructField(name, dataType, nullable)
Mewakili bidang dalamStructType
. Nama bidang ditunjukkan olehname
. Jenis data bidang ditunjukkan oleh dataType.nullable
menunjukkan apakah nilai bidang ini dapat memiliki nilainull
. Ini adalah default.