數據類型

適用於:勾選“是”磚的SQL勾選“是”磚運行時

有關控製如何解決數據類型之間衝突的規則,請參見SQL數據類型規則

支持的數據類型

Databricks支持以下數據類型:

數據類型

描述

長整型數字

表示8字節有符號整數。

二進製

表示字節序列值。

布爾

表示布爾值。

日期

表示由年、月和日字段組成的值,不帶時區。

小數(p, s)

表示具有最大精度的數字p固定規模年代

表示8字節雙精度浮點數。

浮動

表示4字節單精度浮點數。

INT

表示4字節有符號整數。

間隔intervalQualifier

表示以秒或月為單位的時間間隔。

無效

表示無類型的NULL。

短整型

表示2字節有符號整數。

字符串

表示字符串值。

時間戳

表示由年、月、日、小時、分鍾和秒字段的值組成的值,並使用會話本地時區。

非常小的整數

表示1字節有符號整數。

數組

表示由類型為的元素序列組成的值應用的

MAP < keyType,valueType >

表示由一組鍵值對組成的值。

> . STRUCT < [fieldName: fieldType [NOT NULL][COMMENT str][,…]

表示具有由字段序列描述的結構的值。

數據類型分類

數據類型分為以下幾類:

語言映射

適用於:勾選“是”磚運行時

Spark SQL數據類型定義在包中org.apache.spark.sql.types.您可以通過導入包來訪問它們:

進口orgapache火花sql類型_

SQL類型

數據類型

值類型

API來訪問或創建數據類型

非常小的整數

ByteType

字節

ByteType

短整型

ShortType

ShortType

INT

IntegerType

Int

IntegerType

長整型數字

LongType

LongType

浮動

FloatType

浮動

FloatType

倍增式

倍增式

小數(p, s)

DecimalType

java.math.BigDecimal

DecimalType

字符串

StringType

字符串

StringType

二進製

BinaryType

數組(字節)

BinaryType

布爾

BooleanType

布爾

BooleanType

時間戳

TimestampType

java.sql.Timestamp

TimestampType

日期

DateType

java.sql.Date

DateType

year-month間隔

YearMonthIntervalType

java.time.Period

YearMonthIntervalType(3)

白天的時間間隔

DayTimeIntervalType

java.time.Duration

DayTimeIntervalType(3)

數組

ArrayType

scala.collection.Seq

ArrayType(elementType [, containsNull])。(2)

地圖

MapType

scala.collection.Map

MapType(keyType, valueType [, valueContainsNull])。(2)

結構體

StructType

org.apache.spark.sql.Row

StructType(字段)。fields是StructField的序列。[4](# 4)。

StructField

該字段的數據類型的值類型(例如,Int表示數據類型為IntegerType的StructField)

StructField(name, dataType [, nullable])。[4] (# 4)

Spark SQL數據類型定義在包中org.apache.spark.sql.types.中提供的工廠方法可訪問或創建數據類型org.apache.spark.sql.types.DataTypes

SQL類型

數據類型

值類型

API來訪問或創建數據類型

非常小的整數

ByteType

字節或字節

數據類型。ByteType

短整型

ShortType

short或short

數據類型。ShortType

INT

IntegerType

int或Integer

數據類型。IntegerType

長整型數字

LongType

long還是long

數據類型。LongType

浮動

FloatType

浮或浮

數據類型。FloatType

倍增式

雙倍或雙倍

數據類型。倍增式

小數(p, s)

DecimalType

java.math.BigDecimal

DataTypes.createDecimalType()數據類型。createDecimalType(精度、規模)。

字符串

StringType

字符串

數據類型。StringType

二進製

BinaryType

byte []

數據類型。BinaryType

布爾

BooleanType

布爾還是布爾

數據類型。布爾Type

時間戳

TimestampType

java.sql.Timestamp

數據類型。TimestampType

日期

DateType

java.sql.Date

數據類型。DateType

year-month間隔

YearMonthIntervalType

java.time.Period

YearMonthIntervalType(3)

白天的時間間隔

DayTimeIntervalType

java.time.Duration

DayTimeIntervalType(3)

數組

ArrayType

ava.util.List

數據類型。createArrayType(elementType [, containsNull])。(2)

地圖

MapType

java.util.Map

數據類型。createMapType(keyType, valueType [, valueContainsNull])(2)

結構體

StructType

org.apache.spark.sql.Row

DataTypes.createStructType(字段)。fields是StructField的列表或數組。[4] (# 4)

StructField

該字段的數據類型的值類型(例如,int表示數據類型為IntegerType的StructField)

數據類型。createStructField(name, dataType, nullable)

Spark SQL數據類型定義在包中pyspark.sql.types.您可以通過導入包來訪問它們:

pyspark.sql.types進口

SQL類型

數據類型

值類型

API來訪問或創建數據類型

非常小的整數

ByteType

Int或long。(1)

ByteType ()

短整型

ShortType

Int或long。(1)

ShortType ()

INT

IntegerType

Int或long

IntegerType ()

長整型數字

LongType

(1)

LongType ()

浮動

FloatType

浮動(1)

FloatType ()

倍增式

浮動

倍增式()

小數(p, s)

DecimalType

小數。小數

DecimalType ()

字符串

StringType

字符串

StringType ()

二進製

BinaryType

中bytearray

BinaryType ()

布爾

BooleanType

保齡球

BooleanType ()

時間戳

TimestampType

datetime.datetime

TimestampType ()

日期

DateType

datetime.date

DateType ()

year-month間隔

YearMonthIntervalType

不支持

不支持

白天的時間間隔

DayTimeIntervalType

datetime.timedelta

DayTimeIntervalType(3)

數組

ArrayType

列表、元組或數組

ArrayType(應用[containsNull])。(2)

地圖

MapType

dict

MapType(keyType, valueType, [valueContainsNull])。(2)

結構體

StructType

列表或元組

StructType(字段)。field是StructField的Seq。(4)

StructField

該字段的數據類型的值類型(例如,Int表示數據類型為IntegerType的StructField)

StructField(名稱,數據類型,[nullable])。(4)

SQL類型

數據類型

值類型

API來訪問或創建數據類型

非常小的整數

ByteType

整數(1)

“字節”

短整型

ShortType

整數(1)

“短”

INT

IntegerType

整數

“整數”

長整型數字

LongType

整數(1)

“長”

浮動

FloatType

數字(1)

“浮”

倍增式

數字

“雙”

小數(p, s)

DecimalType

不支持

不支持

字符串

StringType

字符

“字符串”

二進製

BinaryType

“二元”

布爾

BooleanType

邏輯

“bool”

時間戳

TimestampType

POSIXct

“時間戳”

日期

DateType

日期

“日期”

year-month間隔

YearMonthIntervalType

不支持

不支持

白天的時間間隔

DayTimeIntervalType

不支持

不支持

數組

ArrayType

向量或列表

list(type= ' array ', elementType=elementType, containsNull=[containsNull])。(2)

地圖

MapType

環境

list(type= ' map ', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull])。(2)

結構體

StructType

命名的列表

列表(類型=“結構”字段=字段)。fields是StructField的序列。(4)

StructField

該字段的數據類型的值類型(例如,數據類型為IntegerType的StructField為整數)

list(name=name, type=dataType, nullable=[nullable])。(4)

(1)數字在運行時轉換為域。確保數字在範圍內。

(2)可選值默認為真正的

(3)間隔類型

  • YearMonthIntervalType ([startField,]endField):表示由下列字段的連續子集組成的年-月間隔:

    startField是最左邊的字段,和endField類型的最右邊字段。的有效值startField而且endField0(月)而且1(年)

  • DayTimeIntervalType ([startField,]endField):表示一個日-時間間隔,由以下字段的連續子集組成:

    startField是最左邊的字段,和endField類型的最右邊字段。的有效值startField而且endField0(天)1(小時)2(分鍾)3(第二次)

(4)StructType

  • StructType(字段)的序列、列表或數組描述的結構表示值StructField(字段)。不允許有兩個名稱相同的字段。

  • StructField(名稱、數據類型,可以為空)類中的字段StructType.字段的名稱由的名字.字段的數據類型由dataType表示。可以為空指示這些字段的值是否可以具有值。這是默認值。