看起来您正在使用的模块将空字符串转换为null,并且在某些时候将下游处理弄乱了。乍一看,它看起来像是PySpark错误。
如何解决?一个简单的解决方法是在索引之前删除空值:
features.na.drop()
或将空值替换为某些占位符:
from pyspark.sql.functions import col, whenfeatures.withColumn( "x0", when(col("x0").isNull(), "__SOME_PLACEHOLDER__").otherwise(col("x0")))另外,您可以使用
spark-csv。它高效,经过测试,而且不能将空字符串转换为
nulls。
features = (sqlContext.read .format('com.databricks.spark.csv') .option("inferSchema", "true") .option("header", "true") .load("tmp.csv"))


