为什么“向量”类型的列不能保留在DataFrame操作中

时间:2019-03-20 17:14:27

标签: scala dataframe

我有一个数据框特征DF,如下所示:

enter image description here

我需要从中生成一个子集欺诈DF,如下所示(不起作用):

val fraudDF = featureDF
      .filter($"is_fraud" === 1)
      .withColumnRenamed("is_fraud", "label")
      .select("features", "label")

该脚本似乎按预期运行: enter image description here

我在下面得到了新的数据框:

enter image description here

我希望使用以下列:功能标签

我应该如何解决?

非常感谢您。

更新: 我在此处发布此消息的原因是因为我创建了另一个要在此处应用的函数:

def createBalancedDataframe(df:DataFrame, reductionCount:Int)(implicit sparkSession:SparkSession) = {

    val kMeans = new KMeans().setK(reductionCount).setMaxIter(30)
    val kMeansModel = kMeans.fit(df)

    import sparkSession.implicits._
    kMeansModel.clusterCenters.toList.map(v => (v, 0)).toDF("features", "label")
  }

正在运行

val balancedNonFraudDF = createBalancedDataframe(nonFraudDF, fraudCount.toInt)(spark)

会抛出错误信息

  

字段“功能”不存在。

0 个答案:

没有答案