我有一個數據幀,並且我想按列進行分組,並使用相同的模式將這些組轉換回數據幀。原因是我想要在整個組中映射一個帶有簽名DataFrame -> String
的函數。下面是我想:如何從分組數據中獲取火花數據幀
val df = sc.parallelize(Seq((1,2,3),(1,2,4),(2,3,4))).toDF
val schema = df.schema
val groups = df.rdd.groupBy(x => x(0))
.mapValues(g => sqlContext.createDataFrame(sc.makeRDD(g.toList), schema))
.take(1)
這裏就是我希望的:
scala> groups(0)._2.collect
Array[org.apache.spark.sql.Row] = Array([1,2,3], [1,2,4])
,但它不工作(任務與NullPointerException
失敗的)......我想你不能地圖一個引用火花上下文的函數,但我不知道如何實現這個功能?
能你提供一個例子。 您期望輸入和輸出什麼? – giaosudau