Я хочу добавить столбец, чтобы искривить фрейм данных, значение которого hashMod существующей строки данных. В приведенном ниже примере я мог бы добиться того же для хэша из 1 конкретной «данных» столбца, как мне добиться того же для цельной строки данных (allcolumns)?Добавьте столбец, чтобы искривить фрейм данных, значение которого hashMod существующей строки фрейма данных
object Container {
case class intContainer(data: Int)
}
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
val getBucket = udf((data: Object) => data.hashCode() %10)
val schema = StructType(List(StructField("age", IntegerType)))
val userList = List((23),(24), (25), (57))
val df1:RDD[Container.intContainer] = sc.parallelize(userList).map(x=> Container.intContainer(x))
val df = df1.toDF()
df.registerTempTable("dfcount")
val countdf = sqlContext.sql("select data,data+1 as count, current_timestamp() as time from dfcount")
val xx = countdf.withColumn("bucket_id", getBucket(col("data")))
Сколько может быть числа столбцов в df? – mrsrinivas