【问题标题】:Scala: Turn Array into DataFrame or RDDScala:将数组转换为 DataFrame 或 RDD
【发布时间】:2018-11-08 14:03:06
【问题描述】:

我目前正在 Maven 中开发 IntelliJ。 有没有办法将数组转换为数据帧或 RDD,并将数组的第一部分作为标头?

我可以将数组转换为列表,只要它可以转换为数据帧或 RDD。

例子:

输入

val input = Array("Name, Number", "John, 9070", "Sara, 8041")

输出

+----+------+
|Name|Number|
+----+------+
|John| 9070 |
|Sara| 8041 |
+----+------+

【问题讨论】:

    标签: arrays scala list apache-spark


    【解决方案1】:
    import org.apache.spark.sql.SparkSession
    
    val ss = SparkSession
      .builder
      .master("local[*]")
      .appName("test")
      .getOrCreate()
    
    val input = Array("Name, Number", "John, 9070", "Sara, 8041")
    
    val header = input.head.split(", ")
    val data = input.tail
    val rdd = ss.sparkContext.parallelize(data)
    val df = rdd.map(x => (x.split(",")(0),x.split(",")(1))).toDF(header: _*)
    df.show(false)
    
    +----+------+
    |Name|Number|
    +----+------+
    |John| 9070 |
    |Sara| 8041 |
    +----+------+
    

    【讨论】:

      猜你喜欢
      • 2018-03-05
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      相关资源
      最近更新 更多