【问题标题】:create a dataset with data frame from sequence of tuples with out using case class从不使用案例类的元组序列中创建具有数据框的数据集
【发布时间】:2019-11-08 19:49:57
【问题描述】:

我有一个元组序列,我通过这些元组创建 RDD 并将其转换为数据帧。如下所示。

 val rdd = sc.parallelize(Seq((1, "User1"), (2, "user2"), (3, "user3")))
import spark.implicits._ 
val df = rdd.toDF("Id", "firstname")

现在我想从 df 创建一个数据集。我该怎么做?

【问题讨论】:

    标签: scala apache-spark dataframe dataset


    【解决方案1】:

    只需df.as[(Int, String)] 就是您需要做的。请在此处查看完整示例。

    package com.examples
    
    import org.apache.log4j.Level
    
    import org.apache.spark.sql.{Dataset, SparkSession}
    
    object SeqTuplesToDataSet {
      org.apache.log4j.Logger.getLogger("org").setLevel(Level.ERROR)
      def main(args: Array[String]): Unit = {
        val spark = SparkSession.builder().appName(this.getClass.getName).config("spark.master", "local").getOrCreate()
        spark.sparkContext.setLogLevel("ERROR")
        val rdd = spark.sparkContext.parallelize(Seq((1, "User1"), (2, "user2"), (3, "user3")))
        import spark.implicits._
        val df = rdd.toDF("Id", "firstname")
        val myds: Dataset[(Int, String)] = df.as[(Int, String)]
        myds.show()
      }
    }
    

    结果:

    +---+---------+
    | Id|firstname|
    +---+---------+
    |  1|    User1|
    |  2|    user2|
    |  3|    user3|
    +---+---------+
    

    【讨论】:

      猜你喜欢
      • 2021-04-30
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 2023-02-18
      • 1970-01-01
      • 1970-01-01
      • 2022-11-01
      • 1970-01-01
      相关资源
      最近更新 更多