Почему столбец типа «вектор» нельзя сохранить в операции DataFrame - PullRequest
1 голос
/ 20 марта 2019

У меня есть DataFrame FeatureDF, как показано ниже:

enter image description here

Мне нужно создать из него подмножество fraudDF, как показано ниже (не работает):

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

Сценарий выглядит так, как ожидается: enter image description here

Я получил новый кадр данных ниже:

enter image description here

Я ожидаю столбцы: функции и метка

Как мне это исправить?

Большое спасибо.

UPDATE: Причина, по которой я публикую это здесь, заключается в том, что у меня есть еще одна функция, созданная для применения здесь:

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)

выдаст ошибку, сказав

Поле "функции" не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...