数据类型

适用于:检查标记是的砖的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。字段显示的名称的名字。一个字段的数据类型是由数据类型表示。可以为空表明如果这些字段的值值。这是默认的。