Gunakan server riwayat Apache Spark yang diperluas untuk men-debug dan mendiagnosis aplikasi Apache Spark

Artikel ini menyediakan panduan tentang cara menggunakan server riwayat Apache Spark yang diperluas untuk men-debug dan mendiagnosis aplikasi Apache Spark yang selesai dan berjalan.

Mengakses server riwayat Apache Spark

Server riwayat Apache Spark adalah antarmuka pengguna web untuk aplikasi Spark yang selesai dan berjalan. Anda dapat membuka antarmuka pengguna web (UI) Apache Spark dari buku catatan indikator kemajuan atau halaman detail aplikasi Apache Spark.

Buka UI web Spark dari buku catatan indikator kemajuan

Ketika pekerjaan Apache Spark dipicu, tombol untuk membuka UI web Spark berada di dalam opsi Tindakan lainnya dalam indikator kemajuan. Pilih antarmuka pengguna web Spark dan tunggu beberapa detik, lalu halaman UI Spark muncul.

Cuplikan layar yang memperlihatkan UI web Spark yang dibuka dari buku catatan indikator kemajuan.

Buka UI web Spark dari halaman detail aplikasi Apache Spark

Antarmuka pengguna web Spark juga dapat dibuka melalui halaman detail aplikasi Apache Spark. Pilih Monitor di sisi kiri halaman, lalu pilih aplikasi Apache Spark. Halaman detail aplikasi muncul.

Cuplikan layar memperlihatkan buka UI web Spark dari halaman detail aplikasi Apache Spark.

Untuk aplikasi Apache Spark yang statusnya berjalan, tombol menunjukkan Spark UI. Pilih UI Spark dan halaman UI Spark muncul.

Cuplikan layar memperlihatkan tombol menampilkan ui spark dalam status berjalan.

Untuk aplikasi Apache Spark yang statusnya berakhir, status berakhir dapat Dihentikan, Gagal, Dibatalkan, atau Selesai. Tombol menampilkan server riwayat Spark. Pilih server riwayat Spark dan halaman antarmuka pengguna Spark muncul.

Cuplikan layar memperlihatkan tombol yang menampilkan Spark UI dalam keadaan selesai.

Tab Grafik di server riwayat Apache Spark

Pilih ID Pekerjaan untuk pekerjaan yang ingin Anda lihat. Kemudian, pilih Grafik pada menu alat untuk mendapatkan tampilan grafik pekerjaan.

Overview

Anda dapat melihat gambaran umum pekerjaan Anda dalam grafik pekerjaan yang dihasilkan. Secara default, grafik menunjukkan semua pekerjaan. Anda dapat memfilter tampilan ini menurut ID Pekerjaan.

Cuplikan layar memperlihatkan aplikasi Spark dan ID tugas grafik pekerjaan.

Display

Secara default, tampilan Kemajuan dipilih. Anda dapat memeriksa aliran data dengan memilih Baca atau Ditulis di daftar dropdown Tampilan .

Cuplikan layar memperlihatkan aplikasi spark dan tampilan grafik pekerjaan.

Simpul grafik menampilkan warna yang ditunjukkan dalam legenda heatmap.

Cuplikan layar memperlihatkan aplikasi spark dan peta panas grafik pekerjaan.

Playback

Untuk memutar ulang tugas, pilih Pemutaran. Anda dapat memilih Hentikan kapan saja untuk berhenti. Warna tugas menunjukkan status yang berbeda saat diputar ulang.

Color Meaning
Green Berhasil: Pekerjaan berhasil diselesaikan.
Orange Dicoba ulang: Instans tugas yang gagal tetapi tidak memengaruhi hasil akhir pekerjaan. Tugas-tugas ini memiliki salinan duplikat atau upaya ulang yang mungkin akan berhasil di masa mendatang.
Blue Berjalan: Tugas sedang berjalan.
White Menunggu atau dilewati: Tugas sedang menunggu untuk dijalankan, atau tahap telah dilewati.
Red Gagal: Tugas gagal.

Gambar berikut menunjukkan warna status hijau, oranye, dan biru.

Cuplikan layar memperlihatkan aplikasi spark dan sampel warna grafik pekerjaan, berjalan.

Gambar berikut menunjukkan warna status hijau dan putih.

Cuplikan layar memperlihatkan aplikasi spark dan sampel warna grafik pekerjaan, lewati.

Gambar berikut menunjukkan warna status merah dan hijau.

Cuplikan layar memperlihatkan aplikasi spark dan sampel warna grafik pekerjaan, gagal.

Note

Server riwayat Apache Spark memungkinkan pemutaran untuk setiap pekerjaan yang diselesaikan (tetapi tidak mengizinkan pemutaran untuk pekerjaan yang tidak lengkap).

Zoom

Gunakan gulir mouse Anda untuk memperbesar dan memperkecil grafik pekerjaan, atau pilih Perbesar agar pas agar pas dengan layar.

Cuplikan layar memperlihatkan Aplikasi Spark dan grafik tugas pada aplikasi Spark dengan zoom agar pas.

Tooltips

Arahkan mouse ke node graf untuk melihat tooltip ketika ada tugas gagal, dan pilih tahapan untuk membuka halaman tahapannya.

Cuplikan layar memperlihatkan aplikasi Spark dan tooltip grafik tugas.

Pada tab grafis pekerjaan, tahapan memiliki tooltip dan ikon kecil yang ditampilkan jika memiliki tugas yang memenuhi kondisi berikut:

Condition Description
Penyimpangan data Ukuran baca data > rata-rata ukuran baca data semua tugas di tahap ini * 2 dan ukuran baca data > 10 MB.
Pergeseran waktu Waktu eksekusi rata-rata waktu > eksekusi semua tugas di dalam tahap ini * 2 dan waktu > eksekusi 2 menit.

Cuplikan layar memperlihatkan aplikasi spark dan ikon penyimpangan grafik pekerjaan.

Deskripsi simpul grafik

Simpul grafik pekerjaan menampilkan informasi berikut dari setiap tahap:

  • ID
  • Nama atau deskripsi
  • Jumlah tugas total
  • Baca data: jumlah ukuran input dan ukuran baca shuffle
  • Penulisan data: jumlah ukuran output dan ukuran penulisan acak
  • Waktu eksekusi: waktu antara waktu mulai upaya pertama dan waktu penyelesaian upaya terakhir
  • Jumlah baris: jumlah rekaman input, rekaman output, rekaman baca acak, dan rekaman tulis acak
  • Progress

Note

Secara bawaan, node grafik pekerjaan menampilkan informasi tentang upaya terakhir setiap tahap (kecuali untuk waktu eksekusi tahap). Namun, selama pemutaran, simpul grafik menampilkan informasi tentang setiap percobaan.

Ukuran data baca dan tulis adalah 1MB = 1000 KB = 1000 * 1000 byte.

Berikan umpan balik

Kirim umpan balik dengan masalah dengan memilih Berikan umpan balik kepada kami.

Cuplikan layar memperlihatkan aplikasi spark dan umpan balik grafik pekerjaan.

Batas nomor tahap

Untuk pertimbangan performa, secara default grafik hanya tersedia ketika aplikasi Spark memiliki kurang dari 500 tahap. Jika ada terlalu banyak tahapan, itu akan gagal dengan kesalahan seperti ini:

The number of stages in this application exceeds limit (500), graph page is disabled in this case.

Sebagai solusinya, sebelum memulai aplikasi Spark, terapkan konfigurasi Spark ini untuk meningkatkan batas:

spark.ui.enhancement.maxGraphStages 1000

Tetapi perhatikan bahwa ini dapat menyebabkan performa halaman dan API yang buruk, karena kontennya bisa terlalu besar bagi browser untuk mengambil dan merender.

Jelajahi tab Diagnosis di server riwayat Apache Spark

Untuk mengakses tab Diagnosis, pilih ID pekerjaan. Kemudian pilih Diagnosis pada menu alat untuk mendapatkan tampilan Diagnosis pekerjaan. Tab diagnosis mencakup Penyimpangan Data, Penyimpangan Waktu, dan Analisis Penggunaan Pelaksana.

Periksa Penyimpangan Data, Penyimpangan Waktu, dan Analisis Penggunaan Pelaksana dengan memilih tab masing-masing.

Cuplikan layar menampilkan kembali tab pengimbangan data untuk diagnosis sparkUI.

Penyimpangan Data

Saat Anda memilih tab Penyimpangan Data , tugas condong terkait ditampilkan berdasarkan parameter yang ditentukan.

  • Tentukan Parameter - Bagian pertama menampilkan parameter, yang digunakan untuk mendeteksi Penyimpangan Data. Aturan defaultnya adalah: pembacaan data tugas lebih besar dari tiga kali dari data tugas rata-rata yang dibaca, dan data tugas yang dibaca lebih dari 10 MB. Jika Anda ingin menentukan aturan sendiri untuk tugas tidak seimbang, Anda dapat memilih parameter. Bagian Skewed Stage dan Skew Char diperbarui sesuai ketentuan.

  • Tahap Condong - Bagian kedua menampilkan tahapan, yang memiliki tugas condong yang memenuhi kriteria yang ditentukan sebelumnya. Jika ada lebih dari satu tugas miring dalam satu tahap, tabel tahap bias hanya menampilkan tugas yang paling miring (misalnya, data terbesar untuk bias data).

    Cuplikan layar menampilkan tab diagnosis penyimpangan data di Spark UI.

  • Bagan Condong - Saat baris dalam tabel tahap condong dipilih, bagan condong menampilkan lebih banyak detail distribusi tugas berdasarkan waktu baca dan eksekusi data. Tugas condong ditandai dengan warna merah dan tugas normal ditandai dengan warna biru. Bagan menampilkan hingga 100 tugas sampel, dan detail tugas ditampilkan di panel kanan bawah.

    Cuplikan layar menampilkan bagan distribusi tidak merata UI Spark untuk stage 10.

Selisih Waktu

Tab Pergeseran Waktu menampilkan tugas yang bergeser berdasarkan waktu eksekusi.

  • Tentukan Parameter - Bagian pertama menampilkan parameter, yang digunakan untuk mendeteksi penyimpangan waktu. Kriteria default untuk mendeteksi kecondongan waktu adalah: waktu eksekusi tugas lebih besar dari tiga kali waktu eksekusi rata-rata dan waktu eksekusi tugas lebih besar dari 30 detik. Anda dapat mengubah parameter berdasarkan kebutuhan Anda. Tahapan Skewed dan Bagan Skew menampilkan informasi tahapan dan tugas yang sesuai, persis seperti tab Data Skew yang dijelaskan sebelumnya.

  • Pilih Penyimpangan Waktu, lalu hasil yang difilter ditampilkan di bagian Tahap condong sesuai dengan parameter yang diatur di bagian Tentukan Parameter. Pilih satu item di seksi Skewed Stage, lalu bagan terkait disusun di seksi 3, dan detail tugas ditampilkan pada panel di kanan bawah.

    Cuplikan layar memperlihatkan bagian 'time skew' diagnosis pada Spark UI.

Analisis Penggunaan Eksekutor

Fitur ini sudah tidak digunakan lagi di Fabric sekarang. Jika Anda masih ingin menggunakan ini sebagai solusinya, silakan akses halaman dengan secara eksplisit menambahkan "/executorusage" di belakang jalur "/diagnostik" di URL, seperti ini:

Cuplikan layar memperlihatkan cara mengubah url.

Spark Executor Rolling Logs: Akses Yang Lebih Mudah untuk Pekerjaan Besar dan Panjang

Karena aplikasi Spark terus tumbuh dalam skala dan durasi, manajemen dan analisis log yang efisien menjadi semakin penting. Untuk mengatasi kebutuhan yang terus berkembang ini, kami telah memperkenalkan penyempurnaan ke Spark History Server (untuk aplikasi yang telah selesai) dan Spark UI (untuk menjalankan aplikasi), memungkinkan eksekutor menggulirkan log untuk Spark 3.4 ke atas.

Dengan peningkatan ini, ketika log pelaksana melebihi 16MB atau pekerjaan Spark berjalan selama lebih dari satu jam, sistem secara otomatis membagi log menjadi segmen per jam. Ini membuatnya lebih mudah untuk menavigasi, melihat, dan mengunduh log tanpa berurusan dengan file yang sangat besar.

Anda sekarang dapat:

  • Lihat log per jam untuk dengan cepat menentukan jendela eksekusi tertentu
  • Akses log aktif terbaru saat pekerjaan masih berjalan.
  • Anda dapat mengunduh log waktu per jam secara individual atau semua log sekaligus sesuai kebutuhan.

Fitur ini memberdayakan pengguna untuk menemukan dan menganalisis log dari titik waktu tertentu dengan mudah, sambil menghindari repot mengunduh atau membuka file log tunggal yang besar.

Di bawah ini adalah contoh tampilan Log Bergulir Pelaksana:

Cuplikan layar memperlihatkan log bergulir pelaksana spark.