对 pyspark.sql.types 中的类型做个记录
1、首先正常使用的时候,我们需要引用他们:
from pyspark.sql.types import MapType,StringType
# 或者
from pyspark.sql.types import *
PySpark SQL TYPES是PySpark模型中的一个类,用于定义PySpark数据模型中使用的所有数据类型。
# 数字类型
ByteType:代表一个字节的整数。范围是-128到127ShortType:代表两个字节的整数。范围是-32768到32767IntegerType:代表4个字节的整数。范围是-2147483648到2147483647LongType:代表8个字节的整数。范围是-9223372036854775808到9223372036854775807FloatType:代表4字节的单精度浮点数DoubleType:代表8字节的双精度浮点数DecimalType:代表任意精度的10进制数据。通过内部的java.math.BigDecimal支持。BigDecimal由一个任意精度的整型非标度值和一个32位整数组成StringType:代表一个字符串值BinaryType:代表一个byte序列值BooleanType:代表boolean值Datetime类型
TimestampType:代表包含字段年,月,日,时,分,秒的值
DateType:代表包含字段年,月,日的值复杂类型
ArrayType(elementType, containsNull):代表由elementType类型元素组成的序列值。containsNull用来指明ArrayType中的值是否有null值
MapType(keyType, valueType, valueContainsNull):表示包括一组键 - 值对的值。通过keyType表示key数据的类型,通过valueType表示value数据的类型。valueContainsNull用来指明MapType中的值是否有null值
StructType(fields):表示一个拥有StructFields (fields)序列结构的值
StructField(name, dataType, nullable):代表StructType中的一个字段,字段的名字通过name指定,dataType指定field的数据类型,nullable表示字段的值是否有null值。