原因是spark存储数据时,会根据数据的前几行(可以设置)判断数据格式(schema),如果数据前几行有一些数据为None,那么无法确定数据的schema,所以报错。
解决方案:
方法1.按照官方文档为数据定义格式:
方法2.填补缺失值为指定数值,dataframe的fillna()函数,例如:
df = df.fillna('unknown')
设置所有空值为字符串:‘unknown’
别忘记‘df=’,不然df还是原来没填充的df(不太理解)
原因是spark存储数据时,会根据数据的前几行(可以设置)判断数据格式(schema),如果数据前几行有一些数据为None,那么无法确定数据的schema,所以报错。
解决方案:
方法1.按照官方文档为数据定义格式:
方法2.填补缺失值为指定数值,dataframe的fillna()函数,例如:
df = df.fillna('unknown')
设置所有空值为字符串:‘unknown’
别忘记‘df=’,不然df还是原来没填充的df(不太理解)