【问题标题】:How to convert Array[String] into spark Dataframe to save CSV file format? [duplicate]如何将 Array[String] 转换为 spark Dataframe 以保存 CSV 文件格式? [复制]
【发布时间】:2018-09-11 09:47:17
【问题描述】:

我用来解析 CSV 的代码

val ListOfNames = List("Ramesh","Suresh","Ganesh") //Dynamical will add list of names
val Seperator = ListOfNames.map(x => x.split(",")  //mkString(",")

sc.parallelize(Array(seperator)).toDF().csv("path")

获取输出:

"Ramesh,Suresh,Ganesh" // Hence entire list into a single column in CSV

预期输出:

Ramesh, Suresh, Ganesh // each name into a single column in CSV

输出应该在一行中,每个字符串应该在每一列中,用逗号分隔。

如果我尝试更改任何内容,则表示 CSV 数据源不支持字符串数据类型的数组。

如何解决?

【问题讨论】:

    标签: scala apache-spark dataframe


    【解决方案1】:

    如果您希望将大小为 n 的列表转换为包含 n 行且只有一列的 spark 数据框,那么解决方案将如下所示:

    import sparkSession.sqlContext.implicits._
    
    val listOfNames = List("Ramesh","Suresh","Ganesh")
    
    val df = listOfNames.toDF("names")
    df.show(false)
    

    输出:

    +------+
    |names |
    +------+
    |Ramesh|
    |Suresh|
    |Ganesh|
    +------+
    

    【讨论】:

    • 如何使行明智而不是列,并且每个名称应该在每列而不是数组[String]
    猜你喜欢
    • 2017-01-30
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 2022-12-17
    • 2019-07-25
    • 2017-06-17
    相关资源
    最近更新 更多