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

相关文章:

  • 2022-02-28
  • 2022-02-14
  • 2022-12-23
  • 2022-12-23
  • 2022-01-21
  • 2021-07-12
  • 2021-08-18
  • 2022-02-16
猜你喜欢
  • 2022-02-04
  • 2021-05-19
  • 2021-12-14
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-12-07
相关资源
相似解决方案