Apa yang dimaksud dengan "Tahap yang Dilewati" di UI web Apache Spark?

88

Dari Spark UI saya. Apa yang dimaksud dengan dilewati?

masukkan deskripsi gambar di sini

Aravind Yarram
sumber

Jawaban:

124

Biasanya ini berarti bahwa data telah diambil dari cache dan tidak perlu menjalankan ulang tahapan yang diberikan. Ini konsisten dengan DAG Anda yang menunjukkan bahwa tahap berikutnya membutuhkan pengocokan ( reduceByKey). Setiap kali ada pengacakan yang terlibat, Spark secara otomatis menyimpan data yang dihasilkan dalam cache :

Acak juga menghasilkan sejumlah besar file perantara pada disk. Mulai Spark 1.3, file-file ini disimpan hingga RDD yang sesuai tidak lagi digunakan dan sampah dikumpulkan. Ini dilakukan agar file acak tidak perlu dibuat ulang jika garis keturunan dihitung ulang.

nol323
sumber
23
Jawaban yang bagus. Jika Anda ingin mengetahui cara lebih lanjut tentang semantik "dilewati" dan "menunggu" tahap di UI web, memeriksa github.com/apache/spark/pull/3009 , permintaan tarik yang pertama kali diperkenalkan konsep-konsep ini. PR itu juga merupakan bacaan yang menarik jika Anda ingin tahu tentang bagaimana tahapan yang dilewati / tertunda berinteraksi dengan bilah kemajuan tingkat pekerjaan.
Josh Rosen
1
Jika saya mengikuti dengan benar, Spark melewatkan ini berarti itu tidak terjadi dan mereka dapat dihapus dari kode secara bersamaan? atau kode sangat efisien dengan cache, jadi biarkan saja? @ zero323
SparkleGoat
1
@SparkleGoat Tidak. Artinya, tahapan ini telah dievaluasi sebelumnya, dan hasilnya tersedia tanpa eksekusi ulang.
10465355 mengatakan Reinstate Monica
pertanyaan lain, dapatkah tahapan caching dan skipping membuat data keluaran berbeda?
SparkleGoat
1
@SparkleGoat, tanpa caching (dan melewatkan karena itu) adalah optimasi percikan internal dan tidak mengubah data keluaran dengan cara apa pun.
Ravi Sanwal