尝试使用Spark IDF.fit()时获得NULL指针异常



尝试在Spark文档中运行此示例。正在获取以下错误。使用Java版本的示例也会得到相同的错误。我得到错误的确切行是:

idfModel = idf.fit(featurizedData)

Py4JJavaError: An error occurred while calling o1142.fit.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 7 in stage 256.0 failed 1 times, most recent failure: Lost task 7.0 in stage 256.0 (TID 3308, localhost): java.lang.NullPointerException

我使用的数据是通过读取Json文件获得的,该文件有几千条记录。在Java中,我读取的文件如下:

DataFrame myData = sqlContext.read().json("myJsonFile.json");

其余代码与上面链接的示例完全相同。featurizedData是一个有效的DataFrame,我打印了它的模式和第一个元素,一切看起来都如预期。我不知道为什么我会得到一个空指针异常。

问题是您将nan作为某些列的文本字段。

由于问题标记有PySpark,因此使用

data_nan_imputed = data.fillna("unknown", subset=["text_col1", .., "text_coln"])

如果您有多个text_col,希望将它们组合成一个text_coll,那么这是一个很好的做法。否则,您也可以使用

data_nan_dropped = data.dropna()

去掉CCD_ 5列,然后拟合该数据集。希望它能起作用。

对于scalajava,使用类似的nan填充语句。

相关内容

  • 没有找到相关文章

最新更新