我需要如下创建一个Scala Spark DF。这个问题可能很愚蠢,但是需要知道什么是创建用于测试目的的小型结构的最佳方法
到目前为止,我已经尝试了以下代码,但未成功:
val rdd2 = sc.parallelize(Seq("7","8","9"))
然后通过以下方式创建到DF
val dfSchema = Seq("col1", "col2", "col3")
和
rdd2.toDF(dfSchema: _*)
这是我想获取的示例数据框:
c1 c2 c3
1 2 3
4 5 6
答案 0 :(得分:1)
abc_spark,这是一个示例,可用于轻松创建用于测试的数据框和RDD:
import spark.implicits._
val df = Seq(
(1, 2, 3),
(4, 5, 6)
).toDF("c1", "c2", "c3")
df.show(false)
+---+---+---+
|c1 |c2 |c3 |
+---+---+---+
|1 |2 |3 |
|4 |5 |6 |
+---+---+---+
val rdd: RDD[Row] = df.rdd
rdd.map{_.getAs[Int]("c2")}.foreach{println}
给予
5
2
答案 1 :(得分:1)
您在序列中缺少一个“()”。如下使用它:
scala> val df = sc.parallelize(Seq(("7","8","9"))).toDF("col1", "col2", "col3")
scala> df.show
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 7| 8| 9|
+----+----+----+