數據類型

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時

對規則數據類型之間的衝突如何解決,明白了SQL數據類型規則

支持的數據類型

磚支持以下的數據類型:

數據類型

描述

長整型數字

代表8字節整數數字簽名。

二進製

代表字節序列值。

布爾

是布爾值。

日期

代表值組成的字段的值年,月,日,沒有一個時區。

小數(p, s)

代表數字和最大精度p規模和固定年代

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

浮動

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

INT

代表4字節整數數字簽名。

間隔intervalQualifier

代表的間隔時間在秒或月。

無效

代表無類型為空。

短整型

代表2字節整數數字簽名。

字符串

代表字符串值。

時間戳

代表值包含字段的值年,月,日,小時,分鍾,第二,當地時區與會話。

TIMESTAMP_NTZ

代表值組成的字段的值年,月,日,小時,分鍾和秒。執行所有操作,沒有考慮任何時區。

非常小的整數

代表字節整數數字簽名。

數組<應用>

代表值組成的一個序列的元素的類型應用的

MAP < keyType, valueType >

代表值組成一組鍵值對。

STRUCT < [fieldName: fieldType [NOT NULL][評論str] […]] >

代表值和描述的結構序列字段。

數據類型分類

數據類型分為以下類別:

語言映射

適用於:檢查標記是的磚運行時

引發包中定義的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

TIMESTAMP_NTZ

TimestampNTZType

java.time.LocalDateTime

TimestampNTZType

日期

DateType

java.sql.Date

DateType

year-month間隔

YearMonthIntervalType

java.time.Period

YearMonthIntervalType(3)

白天的時間間隔

DayTimeIntervalType

java.time.Duration

DayTimeIntervalType(3)

數組

ArrayType

scala.collection.Seq

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

地圖

MapType

scala.collection.Map

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

結構體

StructType

org.apache.spark.sql.Row

StructType(字段)。是一種StructField Seq字段。[4](# 4)。

StructField

數據類型的字段的值類型(例如,Int StructField IntegerType與數據類型)

StructField(名稱、數據類型(可以為空))。[4](# 4)

引發包中定義的SQL數據類型org.apache.spark.sql.types。訪問或創建一個數據類型,使用工廠方法中提供org.apache.spark.sql.types.DataTypes

SQL類型

數據類型

值類型

API來訪問或創建數據類型

非常小的整數

ByteType

字節或字節

DataTypes.ByteType

短整型

ShortType

短或短

DataTypes.ShortType

INT

IntegerType

int或整數

DataTypes.IntegerType

長整型數字

LongType

長或長

DataTypes.LongType

浮動

FloatType

浮動或浮動

DataTypes.FloatType

倍增式

雙或雙

DataTypes.DoubleType

小數(p, s)

DecimalType

java.math.BigDecimal

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

字符串

StringType

字符串

DataTypes.StringType

二進製

BinaryType

byte []

DataTypes.BinaryType

布爾

BooleanType

布爾或布爾

DataTypes.BooleanType

時間戳

TimestampType

java.sql.Timestamp

DataTypes.TimestampType

TIMESTAMP_NTZ

TimestampNTZType

java.time.LocalDateTime

DataTypes.TimestampNTZType

日期

DateType

java.sql.Date

DataTypes.DateType

year-month間隔

YearMonthIntervalType

java.time.Period

YearMonthIntervalType(3)

白天的時間間隔

DayTimeIntervalType

java.time.Duration

DayTimeIntervalType(3)

數組

ArrayType

ava.util.List

數據類型。createArrayType(應用[containsNull])。(2)

地圖

MapType

java.util.Map

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

結構體

StructType

org.apache.spark.sql.Row

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

StructField

數據類型的字段的值類型(例如,int StructField IntegerType與數據類型)

數據類型。createStructField(名稱、數據類型可以為空)[4](# 4)

引發包中定義的SQL數據類型pyspark.sql.types。你訪問它們通過導入包:

pyspark.sql.types進口*

SQL類型

數據類型

值類型

API來訪問或創建數據類型

非常小的整數

ByteType

int或長。(1)

ByteType ()

短整型

ShortType

int或長。(1)

ShortType ()

INT

IntegerType

int或長

IntegerType ()

長整型數字

LongType

(1)

LongType ()

浮動

FloatType

浮動(1)

FloatType ()

倍增式

浮動

倍增式()

小數(p, s)

DecimalType

decimal.Decimal

DecimalType ()

字符串

StringType

字符串

StringType ()

二進製

BinaryType

中bytearray

BinaryType ()

布爾

BooleanType

bool

BooleanType ()

時間戳

TimestampType

datetime.datetime

TimestampType ()

TIMESTAMP_NTZ

TimestampNTZType

datetime.datetime

TimestampNTZType ()

日期

DateType

datetime.date

DateType ()

year-month間隔

YearMonthIntervalType

不支持

不支持

白天的時間間隔

DayTimeIntervalType

datetime.timedelta

DayTimeIntervalType(3)

數組

ArrayType

列表、元組或數組

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

地圖

MapType

dict

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

結構體

StructType

列表或元組

StructType(字段)。字段是一個Seq StructField。(4)

StructField

數據類型的字段的值類型(例如,Int StructField IntegerType與數據類型)

StructField(名稱、數據類型(可以為空))。(4)

SQL類型

數據類型

值類型

API來訪問或創建數據類型

非常小的整數

ByteType

整數(1)

“字節”

短整型

ShortType

整數(1)

“短”

INT

IntegerType

整數

“整數”

長整型數字

LongType

整數(1)

“長”

浮動

FloatType

數字(1)

“浮”

倍增式

數字

“雙”

小數(p, s)

DecimalType

不支持

不支持

字符串

StringType

字符

“字符串”

二進製

BinaryType

“二元”

布爾

BooleanType

邏輯

“bool”

時間戳

TimestampType

POSIXct

“時間戳”

TIMESTAMP_NTZ

TimestampNTZType

datetime.datetime

TimestampNTZType ()

日期

DateType

日期

“日期”

year-month間隔

YearMonthIntervalType

不支持

不支持

白天的時間間隔

DayTimeIntervalType

不支持

不支持

數組

ArrayType

向量或列表

列表(type =“數組”,應用=應用containsNull = [containsNull])。(2)

地圖

MapType

環境

列表(type =“地圖”,keyType = keyType valueType = valueType valueContainsNull = [valueContainsNull])。(2)

結構體

StructType

命名的列表

列表(類型=“結構”字段=字段)。是一種StructField Seq字段。(4)

StructField

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

列表(name =名稱、類型=數據類型,可以為空=(可以為空))。(4)

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

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

(3)間隔類型

  • YearMonthIntervalType ([startField,]endField):代表一個year-month間隔是由相鄰的子集以下字段:

    startField是最左邊的領域,endField最右邊的字段的類型。有效的值startFieldendField0(月)1(年)

  • DayTimeIntervalType ([startField,]endField):代表一個白天的間隔是由連續的子集以下字段:

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

(4)StructType

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

  • StructField(名稱、數據類型,可以為空)代表一個字段中StructType。字段顯示的名稱的名字。一個字段的數據類型是由數據類型表示。可以為空表明如果這些字段的值值。這是默認的。