如何在 spark 中将 DataFrame 或 RDD[object] 转换为 Array[Object]?
How to convert DataFrame or RDD[object] to Array[Object] in spark?
我目前正在为我当前的项目使用 spark streaming
和 spark sql
。有没有办法将 Array[Object]
转换为 RDD[object]
或 DataFrame
?我正在做如下事情:
val myData = myDf.distinct()
.collect()
.map{ row =>
new myObject(row.getAs[String]("id"), row.getAs[String]("name"))
}
上面代码片段中的 myData 将为 Array[myObject]
。如何到达 RDD[myObject]
或直接到达 DataFrame
以便下次执行?
我想我可以将它解析为 RDD[myObject]。我希望这是正确的方法。
val myData = myDf.distinct()
.collect()
.map{ row =>
new myObject(row.getAs[String]("id"), row.getAs[String]("name"))
}
val myDataRDD = rdd.SparkContext.parallelize(myData) // since this code snippet is inside a foreachRDD clause.
import org.apache.spark.sql.Row
case class myObject(id:String, name:String)
val myData = myDf.distinct.map {
case Row(id:String, name:String) => myObject(id,name)
}
我目前正在为我当前的项目使用 spark streaming
和 spark sql
。有没有办法将 Array[Object]
转换为 RDD[object]
或 DataFrame
?我正在做如下事情:
val myData = myDf.distinct()
.collect()
.map{ row =>
new myObject(row.getAs[String]("id"), row.getAs[String]("name"))
}
上面代码片段中的 myData 将为 Array[myObject]
。如何到达 RDD[myObject]
或直接到达 DataFrame
以便下次执行?
我想我可以将它解析为 RDD[myObject]。我希望这是正确的方法。
val myData = myDf.distinct()
.collect()
.map{ row =>
new myObject(row.getAs[String]("id"), row.getAs[String]("name"))
}
val myDataRDD = rdd.SparkContext.parallelize(myData) // since this code snippet is inside a foreachRDD clause.
import org.apache.spark.sql.Row
case class myObject(id:String, name:String)
val myData = myDf.distinct.map {
case Row(id:String, name:String) => myObject(id,name)
}