其他分享
首页 > 其他分享> > Pyspark笔记二

Pyspark笔记二

作者:互联网

1. schema参数,AssertionError: dataType should be DataType

# AssertionError: dataType should be DataType
schema = StructType([
        # true代表不为空
        StructField("col_1", StringType, True),
        StructField("col_2", StringType, True),
        StructField("col_3", StringType, True),
      ]
)
#原因:StringType等后面没有加括号“()”
#修改为:
schema = StructType([
        # true代表不为空
        StructField("col_1", StringType(), True),
        StructField("col_2", StringType(), True),
        StructField("col_3", StringType(), True),
      ]
)

2. pyspark目前的数据类型有:

NullType、StringType、BinaryType、BooleanType、DateType、TimestampType、DecimalType、DoubleType、FloatType、ByteType、IntegerType、LongType、ShortType、ArrayType、MapType、StructType(StructField)等,要根据情况使用,注意可能的溢出问题。

其中大佬总结的对应python数据类型如下:

NullType None
StringType basestring
BinaryType bytearray
BooleanType bool
DateType datetime.date
TimestampType datetime.datetime
DecimalType decimal.Decimal
DoubleType float(double precision floats)
FloatType float(single precision floats)
ByteType int(a signed integer)
IntegerType int(a signed 32-bit integer)
LongType long(a signed 64-bit integer)
ShortType int(a signed 16-bit integer)

参考:https://www.cnblogs.com/yurunmiao/p/4923694.html

 

标签:StringType,Pyspark,StructField,笔记,signed,integer,True,col
来源: https://www.cnblogs.com/qi-yuan-008/p/11770339.html