создать набор данных с фреймом данных из последовательности кортежей без использования case-класса - PullRequest
1 голос
/ 26 июня 2019

У меня есть последовательность кортежей, через которые я сделал RDD и преобразовал это в dataframe. как показано ниже.

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

Теперь я хочу создать набор данных из df. Как я могу это сделать?

1 Ответ

2 голосов
/ 26 июня 2019

просто 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|
+---+---------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...