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
正在获取customerid列值。问题是,即使有两行客户id分别为“144500001”和“14450002”,它也会按原样处理这些数字,这会导致下一次计算出现问题。需要的是,如果有两行,则应将值设为2或Dataframe中的行数。欢迎修改中的任何建议。
暂无答案!
目前还没有任何答案,快来回答吧!