scala - 如何将 map 转换为数据框?

标签 scala apache-spark dictionary apache-spark-sql

m 是一个映射如下:

scala> m
res119: scala.collection.mutable.Map[Any,Any] = Map(A-> 0.11164610291904906, B-> 0.11856755943424617, C -> 0.1023171832681312)

我想得到:
name  score
A  0.11164610291904906
B  0.11856755943424617
C  0.1023171832681312

如何获得最终的数据帧?

最佳答案

首先将其转换为 Seq ,那么您可以使用 toDF()功能。

val spark = SparkSession.builder.getOrCreate()
import spark.implicits._

val m = Map("A"-> 0.11164610291904906, "B"-> 0.11856755943424617, "C" -> 0.1023171832681312)
val df = m.toSeq.toDF("name", "score")
df.show

会给你:
+----+-------------------+
|name|              score|
+----+-------------------+
|   A|0.11164610291904906|
|   B|0.11856755943424617|
|   C| 0.1023171832681312|
+----+-------------------+

关于scala - 如何将 map 转换为数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46317098/

相关文章:

scala - 在 IntelliJ 中运行 ScalaTest 时“无法加载 Suite 类”

python - 使用 Pyspark 分解包含 Json 列表的列

java - 如何在java中将map写入avro?

vba - Excel VBA 字典 : add matching criteria if the data doesn't match with dictionary

C++ multimap 查找失败

scala - sbt test:doc找不到任何要链接的成员

scala - SBT 项目发布 2 个工件的惯用方式是什么?

java - 如何知道该网站是否是通过移动设备访问的

apache-spark - pySpark 使用键/值从 RDD 创建数据帧

scala - 在 Scala Spark 中按数据类型删除列