【问题标题】:How to convert map to dataframe?如何将地图转换为数据框?
【发布时间】:2017-09-20 08:32:46
【问题描述】:

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

如何得到最终的dataframe?

【问题讨论】:

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


    【解决方案1】:

    首先将其转换为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|
    +----+-------------------+
    

    【讨论】:

    • 错误:java.lang.ClassNotFoundException:scala.Any
    • @garyyong 您的地图属于Map[Any,Any] 类型。将其更改为 Map[String,Double] 或您使用的任何类型。
    • 给出错误 - java.net.URISyntaxException: Illegal character in path
    • @parneetisood:您似乎有一些不相关的问题。也许这个问题可以帮助你:stackoverflow.com/questions/30078482/…
    • 无法将符号解析为 DF
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2018-05-18
    • 2019-05-26
    相关资源
    最近更新 更多