Поведение RDD и Dataframe - Spark - PullRequest
0 голосов
/ 20 марта 2020

Я новичок в Spark и вижу приведенное ниже поведение при выполнении двух приведенных ниже фрагментов кода.

Фрагмент 1: создает два выхода: part-000001 и part-000002

  val conf = new SparkConf().setAppName("myApp").setMaster("local[3]");
  val sc = new SparkContext(conf)

  val rdd = sc.textFile("file:///.../in/myfile.csv")
  rdd.saveAsTextFile("file:///.../out/") // produces two outputs part-000001 and part-000002

Snippet2 производит один файл. part-00000 -..........

val sparkSession = SparkSession.builder().master("local[2]").appName("myApp").getOrCreate();
val dataFrameReader = sparkSession.read
val accounts = dataFrameReader.option("header", "true").csv("file:///C:/..../in/mycsv.csv");
accounts.createOrReplaceTempView("accounts")

var b = sparkSession.sql(s"SELECT MLS FROM accounts")
b.write.text("file:///C:/..../in/out/")

Это из-за различий между фреймом данных или RDD или спарк-сессией против sparkcontext?

Обновление: я значительно увеличил размер входного файла и смог увидеть несколько файлов, созданных для операции sparksession / dataframe. По-видимому, датафреймы более развиты, чем кажется?

...