Saat Anda mengirimkan tugas Dataproc, Dataproc akan otomatis mengumpulkan output tugas, dan menyediakannya untuk Anda. Artinya, Anda dapat meninjau output tugas dengan cepat tanpa harus mempertahankan koneksi ke cluster saat tugas Anda berjalan atau memeriksa file log yang rumit.
Log Spark
Ada dua jenis log Spark: log driver Spark dan log eksekutor Spark.
Log driver Spark berisi output tugas; log eksekutor Spark berisi output yang dapat dieksekusi
atau output peluncur tugas, seperti pesan spark-submit
"Submitted application xxx", dan
dapat membantu proses debug kegagalan tugas.
Driver tugas Dataproc, yang berbeda dari driver Spark,
adalah peluncur untuk banyak jenis tugas. Saat meluncurkan tugas Spark, tugas tersebut berjalan sebagai
wrapper pada file yang dapat dieksekusi spark-submit
yang mendasarinya, yang meluncurkan driver Spark. Driver Spark menjalankan tugas di cluster Dataproc dalam mode Spark
client
atau cluster
:
Mode
client
: driver Spark menjalankan tugas dalam prosesspark-submit
, dan log Spark dikirim ke driver tugas Dataproc.cluster
mode: driver Spark menjalankan tugas dalam container YARN. Log driver Spark tidak tersedia untuk driver tugas Dataproc.
Ringkasan properti tugas Dataproc dan Spark
Properti | Nilai | Default | Deskripsi |
---|---|---|---|
dataproc:dataproc.logging.stackdriver.job.driver.enable |
benar atau salah | false | Harus ditetapkan pada saat pembuatan cluster. Jika true ,
output driver tugas ada di Logging,
terkait dengan resource tugas; jika false , output driver
tugas tidak ada di Logging.Catatan: Setelan properti cluster berikut juga diperlukan untuk mengaktifkan log driver tugas di Logging, dan ditetapkan secara default saat cluster dibuat: dataproc:dataproc.logging.stackdriver.enable=true
dan dataproc:jobs.file-backed-output.enable=true
|
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable |
benar atau salah | false | Harus ditetapkan pada saat pembuatan cluster.
Jika true , log container YARN tugas dikaitkan
dengan resource tugas; jika false , log container YARN tugas
dikaitkan dengan resource cluster. |
spark:spark.submit.deployMode |
klien atau cluster | klien | Mengontrol mode Spark client atau cluster . |
Tugas Spark yang dikirimkan menggunakan Dataproc jobs
API
Tabel di bagian ini mencantumkan efek berbagai setelan properti pada
tujuan output driver tugas Dataproc saat tugas dikirimkan
melalui Dataproc jobs
API, yang mencakup pengiriman tugas melalui
Google Cloud konsol, gcloud CLI, dan Library Klien Cloud.
Properti Dataproc dan Spark yang tercantum dapat ditetapkan dengan tanda --properties
saat cluster dibuat, dan akan berlaku untuk semua tugas Spark yang dijalankan di cluster; properti Spark juga dapat ditetapkan dengan tanda --properties
(tanpa awalan "spark:") saat tugas dikirim ke API jobs
Dataproc, dan hanya akan berlaku untuk tugas tersebut.
Output driver tugas Dataproc
Tabel berikut mencantumkan efek berbagai setelan properti pada tujuan output driver tugas Dataproc.
dataproc: |
Output |
---|---|
false (default) |
|
true |
|
Log driver Spark
Tabel berikut mencantumkan efek berbagai setelan properti pada tujuan log driver Spark.
spark: |
dataproc: |
dataproc: |
Output Driver |
---|---|---|---|
klien | false (default) | benar atau salah |
|
klien | true | benar atau salah |
|
cluster | false (default) | false |
|
cluster | true | true |
|
Log eksekutor Spark
Tabel berikut mencantumkan efek berbagai setelan properti pada tujuan log eksekutor Spark.
dataproc: |
Log eksekutor |
---|---|
false (default) | Di Logging: yarn-userlogs di bawah resource cluster |
true | Di Logging dataproc.job.yarn.container di bagian resource tugas |
Tugas Spark yang dikirimkan tanpa menggunakan API jobs
Dataproc
Bagian ini mencantumkan efek berbagai setelan properti pada
tujuan log tugas Spark saat tugas dikirimkan
tanpa menggunakan Dataproc jobs
API, misalnya saat mengirimkan
tugas langsung di node cluster menggunakan spark-submit
atau saat menggunakan notebook
Jupyter atau Zeppelin. Tugas ini tidak memiliki ID tugas atau driver Dataproc.
Log driver Spark
Tabel berikut mencantumkan efek setelan properti yang berbeda pada
tujuan log driver Spark untuk tugas yang tidak dikirimkan melalui API jobs
Dataproc.
spark: |
Output Driver |
---|---|
klien |
|
cluster |
|
Log eksekutor Spark
Jika tugas Spark tidak dikirimkan melalui Dataproc jobs
API, log eksekutor akan berada di Logging yarn-userlogs
di bagian resource cluster.
Melihat output tugas
Anda dapat mengakses output tugas Dataproc di Google Cloud konsol, gcloud CLI, Cloud Storage, atau Logging.
Konsol
Untuk melihat output tugas, buka bagian Jobs Dataproc project Anda, lalu klik Job ID untuk melihat output tugas.

Jika tugas sedang berjalan, output tugas akan diperbarui secara berkala dengan konten baru.
Perintah gcloud
Saat Anda mengirimkan tugas dengan perintah
gcloud dataproc jobs submit, output tugas akan ditampilkan di konsol. Anda dapat "bergabung kembali"
output di lain waktu, di komputer lain, atau di
jendela baru dengan meneruskan ID tugas ke perintah
gcloud dataproc jobs wait. ID Pekerjaan adalah
GUID,
seperti 5c1754a5-34f7-4553-b667-8a1199cb9cab
. Berikut contohnya.
gcloud dataproc jobs wait 5c1754a5-34f7-4553-b667-8a1199cb9cab \ --project my-project-id --region my-cluster-region
Waiting for job output... ... INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.4.2-hadoop2 ... 16:47:45 INFO client.RMProxy: Connecting to ResourceManager at my-test-cluster-m/ ...
Cloud Storage
Output tugas disimpan di Cloud Storage di bucket staging atau bucket yang Anda tentukan saat membuat cluster. Link ke output tugas di Cloud Storage disediakan di kolom Job.driverOutputResourceUri yang ditampilkan oleh:
- permintaan API jobs.get.
- perintah gcloud dataproc jobs describe job-id.
$ gcloud dataproc jobs describe spark-pi ... driverOutputResourceUri: gs://dataproc-nnn/jobs/spark-pi/driveroutput ...