中文文档pyspark.sql.types

1class pyspark.sql.types.DataType

数据类型的基类。

10.1 fromInternal(obj)

将内部SQL对象转换为本机Python对象。

10.2 json()

10.3 jsonValue()

10.4 needConversion()

这种类型是否需要在Python对象和内部SQL对象之间进行转换?

这用于避免ArrayType / MapType / StructType的不必要的转换。

10.5 simpleString()

10.6 toInternal(obj)

将Python对象转换为内部SQL对象。

2.class pyspark.sql.types.NullType

Null类型:表示无数据类型,用于无法推断的类型。

3.class pyspark.sql.types.StringType

String 数据类型。

4.class pyspark.sql.types.BinaryType

二进制(字节数组)数据类型。

5.class pyspark.sql.types.BooleanType

Boolean 数据类型。

6.class pyspark.sql.types.DateType

Date (datetime.date) 数据类型。

7.class pyspark.sql.types.TimestampType

Timestamp (datetime.datetime) 数据类型。

8.class pyspark.sql.types.DecimalType(precision=10, scale=0)

Decimal (decimal.Decimal) 数据类型。

DecimalType必须具有固定的精度(最大总位数)和比例(点右边的位数)。 例如,(5,2)可以支持[-999.99至999.99]之间的值。

precision可以达到38,scale要小于或等于precision。

创建DecimalType时,默认的precision和scale是(10,0)。 当从十进制对象中推断模式时,它将是DecimalType(38,18)。

参数:● precision – 最大的总位数 (默认: 10)

●  scale – 点右侧的位数 (默认: 0)

9.class pyspark.sql.types.DoubleType

Double 数据类型,表示双精度浮点数。

10.class pyspark.sql.types.FloatType

Float数据类型,表示单精度浮点数。

11.class pyspark.sql.types.ByteType

Byte 数据类型,即单个字节中的有符号整数。

12.class pyspark.sql.types.IntegerType

Int数据类型,即有符号的32位整数。

13.class pyspark.sql.types.LongType

Long数据类型,即有符号的64位整数。

如果数值超出[-9223372036854775808,9223372036854775807]的范围,请使用DecimalType。

14.class pyspark.sql.types.ShortType

Short数据类型,即有符号的16位整数。

15.class pyspark.sql.types.ArrayType(elementType, containsNull=True)

数组数据类型。

参数:●  elementType – 数组中每个元素的DataType。

● containsNull – 布尔值,数组是否可以包含null(None)值。

16.class pyspark.sql.types.MapType(keyType, valueType, valueContainsNull=True)

Map数据类型。

参数:●  keyType – map中key的数据类型。

 ●  valueType – map中value的数据类型。

 ●  valueContainsNull – 指示values是否可以包含null(无)值。

map数据类型中的键不允许为null(无)。

17.class pyspark.sql.types.StructField(name, dataType, nullable=True, metadata=None)

StructType中的一个字段。

参数:● name – 字符串,字段的名称。

 ● dataType – 字段的数据类型。

 ● nullable – boolean,该字段是否可以为null(None)。

 ● metadata – 从字符串到简单类型的字典,可以自动内部转到JSON

18.class pyspark.sql.types.StructType(fields=None)

结构类型,由StructField的列表组成。

这是表示一个行的数据类型。

18.1 add(field, data_type=None, nullable=True, metadata=None)

通过添加新元素来构造一个StructType来定义schema。 该方法接受:

a:一个参数是一个StructField对象。

b:介于2到4之间的参数(name,data_type,nullable(可选),metadata(可选))。data_type参数可以是String或DataType对象。

>>>from pyspark.sql.types import *

>>>struct1 = StructType().add("f1", StringType(), True).add("f2", StringType(), True, None)

>>>struct2 = StructType([StructField("f1", StringType(), True), StructField("f2", StringType(), True, None)])

>>>struct1 == struct2 True

>>>struct1 = StructType().add(StructField("f1", StringType(), True))

>>>struct2 = StructType([StructField("f1", StringType(), True)])

>>>struct1 == struct2 True

>>>struct1 = StructType().add("f1", "string", True)

>>>struct2 = StructType([StructField("f1", StringType(), True)])

>>>struct1 == struct2

True

参数:●  field – 字段的名称或者StructField对象

        ●  data_type – 如果存在,则创建StructField的DataType

        ●  nullable – 要添加的字段是否可以是nullable (默认True)

        ●  metadata – 任何其他元数据(默认无)

返回:一个新的更新的StructType

你可能感兴趣的:(中文文档pyspark.sql.types)