val indexedRowRDD = dfFeaturesUpdated
.select(customerIdColName, "mergedAllFeatures")
.rdd
.map { case row => {
val accountIdRow = row.getAs[Integer](customerIdColName).toLong //customerIdColName
val featuresRow = row.getAs[org.apache.spark.mllib.linalg.Vector]("mergedAllFeatures")
IndexedRow(accountIdRow, featuresRow)
}}
В этом коде строка Val accountIdRow = row.getAs[Integer](customerIdColName).toLong
принимает индивидуальные значения столбца. Проблема в том, что даже если есть две строки с идентификатором клиента, например «144500001» и «14450002», эти числа принимаются такими, какие есть, что создает проблему при следующем вычислении. Если есть две строки, необходимо принять значение 2 или количество строк во фрейме данных. Любые предложения по модификации приветствуются.