我将查询的输出作为tableresultset。这里,result是我的tableresultset,我想将其更改为dataframe。正在寻找一种不在Dataframe上使用联合的方法,因为如果在行上应用,它会减慢进程。请找到第二种方法,我尝试后工会。
val keys2 = scala.collection.mutable.ListBuffer.empty[ListBuffer[String]]
for (s <- result.getSchema.getFields) {
keys.add(s.getName)
}
for (f <- result.iterateAll()) {
val keys1 = scala.collection.mutable.ListBuffer.empty[String]
println("Result entered ")
for (column <- keys) {
//Final += (column -> f.get(column).getValue().toString)
keys1 += f.get(column).getValue().toString
println("Final part is over for", column)
//println(keys1.toSeq)
}
println(keys1)
keys2 += keys1
}
println(keys2)
val rdd_new = sc.parallelize(keys2)
import Spark.implicits._
val res = rdd_new.toDF("col1","col2")
res.show()
我得到我的钥匙2如下-
ListBuffer(ListBuffer(1234, ABC), ListBuffer(567, BV), ListBuffer(789, SLA))
输出我得到的Dataframe-
+------------+
| Value |
+------------+
|[1234, ABC] |
| [567, BV] |
|[789, SLA] |
输出我想要的Dataframe-
+------------+
| _1 | _2 |
+------------+
| 1234| ABC |
| 567| BV |
| 789 |SLA |
暂无答案!
目前还没有任何答案,快来回答吧!