SparkML:管道预测的记录少于输入的记录

时间:2019-02-12 17:11:09

标签: apache-spark pyspark apache-spark-ml

如何在管道中找出从转换中跳过或删除了哪些记录?

我有一个类似于以下内容的管道:

  • StringIndexer
  • OneHotEncoderEstimator
  • (在上面对所有分类列重复)
  • VectorAssembler(收集所有编码和原始数字列)
  • LogisticRegression

然后:

model = pipeline.fit(train)
predicted = model.transform(test)

test.count() 
8092
predicted.count()
8091

缺少一条记录,我想找出哪一条。 谢谢

1 个答案:

答案 0 :(得分:0)

您的handleInvalid的{​​{1}}选项可能设置为StringIndexer

您可以将此选项更改为skip,并且转换将在从未看到的标签上失败。从Spark 2.2开始,您还可以使用选项error将带有未知标签的行保留在单独的存储桶中:

keep