0
既存のデータフレーム行の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