

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memantau pekerjaan menggunakan UI web Apache Spark
<a name="monitor-spark-ui"></a>

Anda dapat menggunakan Apache Spark Web UI untuk memantau dan melakukan debug tugas ETL AWS Glue yang berjalan pada sistem tugas AWS Glue, dan juga aplikasi Spark yang berjalan di titik akhir pengembangan AWS Glue. Spark UI memungkinkan Anda untuk memeriksa hal berikut untuk setiap tugas:
+ Lini waktu peristiwa dari setiap tahap Spark
+ Grafik asiklik terarah (DAG) dari tugas tersebut
+ Rencana fisik dan logis untuk kueri SparkSQL
+ Variabel lingkungan Spark yang mendasari untuk setiap tugas

Untuk informasi selengkapnya tentang penggunaan UI Web Spark, lihat [UI Web](https://spark.apache.org/docs/3.3.0/web-ui.html) di dokumentasi Spark. Untuk panduan tentang cara menafsirkan hasil Spark UI guna meningkatkan kinerja pekerjaan Anda, lihat [Praktik terbaik untuk penyetelan AWS Glue kinerja untuk pekerjaan Apache Spark](https://docs.aws.amazon.com/prescriptive-guidance/latest/tuning-aws-glue-for-apache-spark/introduction.html) di Panduan Preskriptif. AWS 

 Anda dapat melihat UI Spark di AWS Glue konsol. Ini tersedia ketika AWS Glue pekerjaan berjalan pada versi AWS Glue 3.0 atau yang lebih baru dengan log yang dihasilkan dalam format Standar (bukan warisan), yang merupakan default untuk pekerjaan yang lebih baru. Jika Anda memiliki file log lebih besar dari 0,5 GB, Anda dapat mengaktifkan dukungan log bergulir untuk pekerjaan berjalan pada versi AWS Glue 4.0 atau yang lebih baru untuk menyederhanakan pengarsipan log, analisis, dan pemecahan masalah.

Anda dapat mengaktifkan UI Spark dengan menggunakan AWS Glue konsol atau AWS Command Line Interface (AWS CLI). Saat Anda mengaktifkan UI Spark, pekerjaan AWS Glue ETL, dan aplikasi Spark pada titik akhir AWS Glue pengembangan dapat mencadangkan log peristiwa Spark ke lokasi yang Anda tentukan di Amazon Simple Storage Service (Amazon S3). Anda dapat menggunakan log peristiwa yang dicadangkan di Amazon S3 dengan Spark UI, baik secara real time saat pekerjaan beroperasi dan setelah pekerjaan selesai. Meskipun log tetap ada di Amazon S3, UI Spark di AWS Glue konsol dapat melihatnya. 

## Izin
<a name="monitor-spark-ui-limitations-permissions"></a>

 Untuk menggunakan UI Spark di AWS Glue konsol, Anda dapat menggunakan `UseGlueStudio` atau menambahkan semua layanan APIs individual. Semua APIs diperlukan untuk menggunakan UI Spark sepenuhnya, namun pengguna dapat mengakses fitur SparkUI dengan menambahkan layanannya APIs di izin IAM mereka untuk akses berbutir halus. 

 `RequestLogParsing`adalah yang paling penting karena melakukan penguraian log. Sisanya APIs adalah untuk membaca data yang diuraikan masing-masing. Misalnya, `GetStages` menyediakan akses ke data tentang semua tahapan pekerjaan Spark. 

 Daftar layanan Spark UI yang APIs dipetakan `UseGlueStudio` berada di bawah ini dalam kebijakan sampel. Kebijakan di bawah ini menyediakan akses untuk hanya menggunakan fitur UI Spark. Untuk menambahkan lebih banyak izin seperti Amazon S3 dan IAM, [lihat Membuat Kebijakan IAM Kustom untuk](https://docs.aws.amazon.com/glue/latest/dg/getting-started-min-privs.html#getting-started-all-gs-privs.html). AWS Glue Studio

 Daftar layanan Spark UI yang APIs dipetakan `UseGlueStudio` ada di bawah ini dalam kebijakan sampel. Saat menggunakan API layanan Spark UI, gunakan namespace berikut:. `glue:<ServiceAPI>` 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowGlueStudioSparkUI",
      "Effect": "Allow",
      "Action": [
        "glue:RequestLogParsing",
        "glue:GetLogParsingStatus",
        "glue:GetEnvironment",
        "glue:GetJobs",
        "glue:GetJob",
        "glue:GetStage",
        "glue:GetStages",
        "glue:GetStageFiles",
        "glue:BatchGetStageFiles",
        "glue:GetStageAttempt",
        "glue:GetStageAttemptTaskList",
        "glue:GetStageAttemptTaskSummary",
        "glue:GetExecutors",
        "glue:GetExecutorsThreads",
        "glue:GetStorage",
        "glue:GetStorageUnit",
        "glue:GetQueries",
        "glue:GetQuery"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## Batasan
<a name="monitor-spark-ui-limitations"></a>
+ Spark UI di AWS Glue konsol tidak tersedia untuk menjalankan pekerjaan yang terjadi sebelum 20 November 2023 karena berada dalam format log lama.
+  Spark UI di AWS Glue konsol mendukung rolling log untuk AWS Glue 4.0, seperti yang dihasilkan secara default dalam pekerjaan streaming. Jumlah maksimum dari semua file peristiwa log gulung yang dihasilkan adalah 2 GB. Untuk AWS Glue pekerjaan tanpa dukungan log yang digulung, ukuran file peristiwa log maksimum yang didukung untuk SparkUI adalah 0,5 GB. 
+  UI Spark Tanpa Server tidak tersedia untuk log peristiwa Spark yang disimpan di bucket Amazon S3 yang hanya dapat diakses oleh VPC Anda. 

## Contoh: Apache Spark web UI
<a name="monitor-spark-ui-limitations-example"></a>

Contoh ini menunjukkan cara menggunakan UI Spark untuk memahami kinerja pekerjaan Anda. Tangkapan layar menunjukkan UI web Spark seperti yang disediakan oleh server riwayat Spark yang dikelola sendiri. Spark UI di AWS Glue konsol memberikan tampilan serupa. Untuk informasi selengkapnya tentang penggunaan UI Web Spark, lihat [UI Web](https://spark.apache.org/docs/3.3.0/web-ui.html) di dokumentasi Spark.

Berikut ini adalah contoh aplikasi Spark yang membaca dari dua sumber data, melakukan transformasi gabungan, dan menuliskannya ke Amazon S3 dalam format Parket.

```
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
from pyspark.sql.functions import count, when, expr, col, sum, isnull
from pyspark.sql.functions import countDistinct
from awsglue.dynamicframe import DynamicFrame
 
args = getResolvedOptions(sys.argv, ['JOB_NAME'])
 
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
 
job = Job(glueContext)
job.init(args['JOB_NAME'])
 
df_persons = spark.read.json("s3://awsglue-datasets/examples/us-legislators/all/persons.json")
df_memberships = spark.read.json("s3://awsglue-datasets/examples/us-legislators/all/memberships.json")
 
df_joined = df_persons.join(df_memberships, df_persons.id == df_memberships.person_id, 'fullouter')
df_joined.write.parquet("s3://aws-glue-demo-sparkui/output/")
 
job.commit()
```

Visualisasi DAG berikut menunjukkan tahapan yang berbeda dalam tugas Spark ini.

![\[Tangkapan layar dari Spark UI yang menunjukkan 2 tahap yang diselesaikan untuk tugas 0.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/spark-ui1.png)


Lini waktu peristiwa tugas berikut menunjukkan awal, eksekusi, dan pengakhiran pelaksana Spark yang berbeda.

![\[Tangkapan layar dari Spark UI yang menunjukkan tahap yang sudah selesai, gagal, dan aktif dari pelaksana Spark yang berbeda.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/spark-ui2.png)


Layar berikut menunjukkan detail dari rencana kueri SparkSQL:
+ Rencana logis diurai
+ Rencana logis yang dianalisis
+ Rencana logis yang dioptimalkan
+ Rencana fisik untuk eksekusi

![\[Rencana kueri SparkSQL: rencana logis dan rencana fisik yang diurai, dianalisis, dan dioptimalkan untuk eksekusi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/spark-ui3.png)


**Topics**
+ [Izin](#monitor-spark-ui-limitations-permissions)
+ [Batasan](#monitor-spark-ui-limitations)
+ [Contoh: Apache Spark web UI](#monitor-spark-ui-limitations-example)
+ [Mengaktifkan UI web Apache Spark untuk pekerjaan AWS Glue](monitor-spark-ui-jobs.md)
+ [Meluncurkan server sejarah Spark](monitor-spark-ui-history.md)

# Mengaktifkan UI web Apache Spark untuk pekerjaan AWS Glue
<a name="monitor-spark-ui-jobs"></a>

Anda dapat menggunakan Apache Spark Web UI untuk memantau dan melakukan debug tugas ETL AWS Glue yang berjalan pada sistem tugas AWS Glue. Anda dapat mengkonfigurasi Spark UI dengan menggunakan konsol AWS Glue atau AWS Command Line Interface (AWS CLI).

Setiap 30 detik, AWS Glue buat cadangan log peristiwa Spark ke jalur Amazon S3 yang Anda tentukan.

**Topics**
+ [Mengkonfigurasi UI Spark (konsol)](#monitor-spark-ui-jobs-console)
+ [Mengkonfigurasi Spark UI (AWS CLI)](#monitor-spark-ui-jobs-cli)
+ [Mengonfigurasi UI Spark untuk sesi menggunakan Notebook](#monitor-spark-ui-sessions)
+ [Aktifkan log bergulir](#monitor-spark-ui-rolling-logs)

## Mengkonfigurasi UI Spark (konsol)
<a name="monitor-spark-ui-jobs-console"></a>

Ikuti langkah-langkah ini untuk mengonfigurasi UI Spark dengan menggunakan. Konsol Manajemen AWS Saat membuat AWS Glue pekerjaan, Spark UI diaktifkan secara default.

**Untuk mengaktifkan UI Spark saat Anda membuat atau mengedit pekerjaan**

1. Masuk ke Konsol Manajemen AWS dan buka AWS Glue konsol di [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Di panel navigasi, pilih **Tugas**.

1. Pilih **Tambah pekerjaan**, atau pilih yang sudah ada.

1. Di **detail Job**, buka **properti Advanced**.

1. Di bawah tab **Spark UI**, pilih **Tulis log UI Spark ke Amazon S3**.

1. Tentukan path Amazon S3 untuk menyimpan log peristiwa Spark untuk tugas itu. Perhatikan bahwa jika Anda menggunakan konfigurasi keamanan dalam pekerjaan, enkripsi juga berlaku untuk file log UI Spark. Untuk informasi selengkapnya, lihat [Mengenkripsi data yang ditulis oleh AWS Glue](encryption-security-configuration.md).

1. Di bawah **konfigurasi logging dan pemantauan Spark UI**:
   + Pilih **Standar** jika Anda membuat log untuk dilihat di AWS Glue konsol.
   + Pilih **Legacy** jika Anda membuat log untuk dilihat di server riwayat Spark.
   + Anda juga dapat memilih untuk menghasilkan keduanya.

## Mengkonfigurasi Spark UI (AWS CLI)
<a name="monitor-spark-ui-jobs-cli"></a>

Untuk menghasilkan log untuk dilihat dengan Spark UI, di AWS Glue konsol, gunakan AWS CLI untuk meneruskan parameter pekerjaan berikut ke AWS Glue pekerjaan. Untuk informasi selengkapnya, lihat [Menggunakan parameter pekerjaan dalam pekerjaan AWS Glue](aws-glue-programming-etl-glue-arguments.md).

```
'--enable-spark-ui': 'true',
'--spark-event-logs-path': 's3://s3-event-log-path'
```

Untuk mendistribusikan log ke lokasi lawasannya, setel `--enable-spark-ui-legacy-path` parameternya ke`"true"`. Jika Anda tidak ingin menghasilkan log di kedua format, hapus `--enable-spark-ui` parameternya.

## Mengonfigurasi UI Spark untuk sesi menggunakan Notebook
<a name="monitor-spark-ui-sessions"></a>

**Awas**  
AWS Glue sesi interaktif saat ini tidak mendukung Spark UI di konsol. Konfigurasikan server riwayat Spark.

 Jika Anda menggunakan AWS Glue buku catatan, siapkan konfigurasi SparkUI sebelum memulai sesi. Untuk melakukan ini, gunakan sihir `%%configure` sel: 

```
%%configure { “--enable-spark-ui”: “true”, “--spark-event-logs-path”: “s3://path” }
```

## Aktifkan log bergulir
<a name="monitor-spark-ui-rolling-logs"></a>

 Mengaktifkan SparkUI dan bergulir file peristiwa log untuk AWS Glue pekerjaan memberikan beberapa manfaat: 
+  Rolling Log Event Files - Dengan file acara log bergulir diaktifkan, AWS Glue menghasilkan file log terpisah untuk setiap langkah pelaksanaan pekerjaan, sehingga lebih mudah untuk mengidentifikasi dan memecahkan masalah khusus untuk tahap atau transformasi tertentu. 
+  Manajemen Log yang Lebih Baik - File acara log bergulir membantu mengelola file log dengan lebih efisien. Alih-alih memiliki satu file log yang berpotensi besar, log dibagi menjadi file yang lebih kecil dan lebih mudah dikelola berdasarkan tahap eksekusi pekerjaan. Ini dapat menyederhanakan pengarsipan log, analisis, dan pemecahan masalah. 
+  Peningkatan Toleransi Kesalahan - Jika AWS Glue pekerjaan gagal atau terganggu, file acara log bergulir dapat memberikan informasi berharga tentang tahap sukses terakhir, sehingga lebih mudah untuk melanjutkan pekerjaan dari titik itu daripada memulai dari awal. 
+  Optimalisasi Biaya - Dengan mengaktifkan file peristiwa log bergulir, Anda dapat menghemat biaya penyimpanan yang terkait dengan file log. Alih-alih menyimpan satu file log yang berpotensi besar, Anda menyimpan file log yang lebih kecil dan lebih mudah dikelola, yang bisa lebih hemat biaya, terutama untuk pekerjaan yang berjalan lama atau kompleks. 

 Di lingkungan baru, pengguna dapat secara eksplisit mengaktifkan log bergulir melalui: 

```
'—conf': 'spark.eventLog.rolling.enabled=true'
```

atau

```
'—conf': 'spark.eventLog.rolling.enabled=true —conf 
spark.eventLog.rolling.maxFileSize=128m'
```

 Saat log bergulir diaktifkan, `spark.eventLog.rolling.maxFileSize` tentukan ukuran maksimum file log peristiwa sebelum berguling. Nilai default parameter opsional ini jika tidak ditentukan adalah 128 MB. Minimal adalah 10 MB. 

 Jumlah maksimum dari semua file peristiwa log gulung yang dihasilkan adalah 2 GB. Untuk AWS Glue pekerjaan tanpa dukungan log bergulir, ukuran file peristiwa log maksimum yang didukung untuk SparkUI adalah 0,5 GB. 

Anda dapat mematikan log bergulir untuk pekerjaan streaming dengan meneruskan konfigurasi tambahan. Perhatikan bahwa file log yang sangat besar mungkin mahal untuk dipelihara.

Untuk mematikan log bergulir, berikan konfigurasi berikut:

```
'--spark-ui-event-logs-path': 'true',
'--conf': 'spark.eventLog.rolling.enabled=false'
```

# Meluncurkan server sejarah Spark
<a name="monitor-spark-ui-history"></a>

Anda dapat menggunakan server riwayat Spark untuk memvisualisasikan log Spark pada infrastruktur Anda sendiri. Anda dapat melihat visualisasi yang sama di AWS Glue konsol untuk AWS Glue pekerjaan berjalan pada versi AWS Glue 4.0 atau yang lebih baru dengan log yang dihasilkan dalam format Standar (bukan warisan). Untuk informasi selengkapnya, lihat [Memantau pekerjaan menggunakan UI web Apache Spark](monitor-spark-ui.md).

Anda dapat meluncurkan server riwayat Spark menggunakan AWS CloudFormation templat yang menghosting server pada instans EC2, atau meluncurkan secara lokal menggunakan Docker.

**Topics**
+ [Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan AWS CloudFormation](#monitor-spark-ui-history-cfn)
+ [Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan Docker](#monitor-spark-ui-history-local)

## Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan AWS CloudFormation
<a name="monitor-spark-ui-history-cfn"></a>

Anda dapat menggunakan AWS CloudFormation template untuk memulai server riwayat Apache Spark dan melihat UI web Spark. Templat ini adalah contoh yang harus Anda modifikasi untuk memenuhi kebutuhan Anda.

**Untuk memulai server riwayat Spark dan melihat UI Spark menggunakan CloudFormation**

1. Pilih salah satu tombol **Luncurkan Tumpukan** dalam tabel berikut. Ini meluncurkan tumpukan di CloudFormation konsol.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/monitor-spark-ui-history.html)

1. Pada halaman **Tentukan templat**, pilih **Selanjutnya**.

1. Di halaman **Tentukan detail tumpukan**, masukkan **Nama tumpukan**. Masukkan informasi tambahan di bawah **Parameter**.

   1. 

**Konfigurasi Spark UI**

      Berikan informasi berikut ini:
      + **Rentang alamat IP** — Rentang alamat IP yang dapat digunakan untuk melihat Spark UI. Jika Anda ingin membatasi akses dari rentang alamat IP tertentu, maka Anda harus menggunakan nilai kustom. 
      + **Port server riwayat** — Port untuk Spark UI. Anda dapat menggunakan nilai default.
      + **Direktori log peristiwa** — Pilih lokasi di mana log peristiwa Spark disimpan dari tugas AWS Glue atau titik akhir pengembangan. Anda harus menggunakan **s3a://** untuk skema path log peristiwa.
      + **Lokasi paket Spark** — Anda dapat menggunakan nilai default.
      + Jalur **keystore — jalur** SSL/TLS keystore untuk HTTPS. Jika Anda ingin menggunakan file keystore kustom, Anda dapat menentukan path S3 di sini `s3://path_to_your_keystore_file`. Jika Anda membiarkan parameter ini kosong, maka keystore berbasis sertifikat self-signed akan dihasilkan dan digunakan.
      + Kata **sandi keystore** - Masukkan kata sandi keystore SSL/TLS untuk HTTPS.

   1. 

**Konfigurasi instans EC2**

      Berikan informasi berikut ini:
      + **Tipe instans** — Jenis instans Amazon EC2 yang menjadi host server riwayat Spark. Karena templat ini meluncurkan instans Amazon EC2 di akun Anda, Amazon EC2 akan dikenakan biaya di akun Anda secara terpisah.
      + **ID AMI terbaru** — ID AMI dari Amazon Linux 2 untuk instans server riwayat Spark. Anda dapat menggunakan nilai default.
      + **ID VPC** — ID virtual private cloud (VPC) untuk instans server riwayat Spark. Anda dapat menggunakan salah satu yang VPCs tersedia di akun Anda Menggunakan VPC default dengan [ACL Jaringan default](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#default-network-acl) tidak disarankan. Untuk informasi selengkapnya, lihat [VPC Default dan Subnet Default](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) dan [Membuat VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) di *Panduan Pengguna Amazon VPC*.
      + **ID Subnet** — ID untuk instans server riwayat Spark. Anda dapat menggunakan salah satu subnet di VPC Anda. Anda harus dapat mencapai jaringan dari klien Anda ke subnet tersebut. Jika Anda ingin mengakses melalui internet, maka Anda harus menggunakan subnet publik yang memiliki gateway internet di tabel rute.

   1. Pilih **Berikutnya**.

1. **Pada halaman **Configure stack options**, untuk menggunakan kredensyal pengguna saat ini untuk menentukan cara CloudFormation membuat, memodifikasi, atau menghapus sumber daya dalam tumpukan, pilih Berikutnya.** **Anda juga dapat menentukan peran di bagian **Izin** yang akan digunakan, bukan izin pengguna saat ini, lalu pilih Berikutnya.**

1. Pada halaman **Tinjau**, tinjau templat. 

   Pilih **Saya mengakui yang CloudFormation mungkin membuat sumber daya IAM**, dan kemudian pilih **Buat** tumpukan.

1. Tunggu tumpukan yang akan dibuat.

1. Buka tab **Output**.

   1. Salin URL **SparkUiPublicUrl**jika Anda menggunakan subnet publik.

   1. Salin URL **SparkUiPrivateUrl**jika Anda menggunakan subnet pribadi.

1. Buka peramban web, dan tempel di URL. Hal ini memungkinkan Anda mengakses server dengan menggunakan HTTPS pada port yang ditentukan. Peramban Anda mungkin tidak mengenali sertifikat server, di mana Anda harus mengganti perlindungannya dan terus melanjutkan. 

## Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan Docker
<a name="monitor-spark-ui-history-local"></a>

Jika Anda lebih suka akses lokal (tidak memiliki instans EC2 untuk server riwayat Apache Spark), Anda juga dapat menggunakan Docker untuk memulai server riwayat Apache Spark dan melihat Spark UI secara lokal. Dockerfile ini adalah contoh yang Anda harus modifikasi untuk memenuhi kebutuhan Anda. 

 **Prasyarat** 

Untuk informasi tentang cara menginstal Docker di laptop Anda lihat [Komunitas Docker Engine](https://docs.docker.com/install/).

**Untuk memulai server riwayat Spark dan melihat Spark UI secara lokal menggunakan Docker**

1. Unduh file dari GitHub.

   Unduh Dockerfile dan `pom.xml` dari contoh [ AWS Gluekode](https://github.com/aws-samples/aws-glue-samples/tree/master/utilities/Spark_UI/).

1. Tentukan apakah Anda ingin menggunakan kredensyal pengguna atau kredensyal pengguna gabungan untuk mengakses. AWS
   + Untuk menggunakan kredensyal pengguna saat ini untuk mengakses AWS, dapatkan nilai yang akan digunakan untuk ` AWS_ACCESS_KEY_ID` dan `AWS_SECRET_ACCESS_KEY` dalam perintah. `docker run` Untuk informasi lebih lanjut, lihat [Mengelola access key untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) dalam *Panduan Pengguna IAM*.
   + Untuk menggunakan pengguna federasi SAMP 2.0 untuk mengakses AWS, dapatkan nilai untuk,` AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` dan. ` AWS_SESSION_TOKEN` Untuk informasi selengkapnya, lihat [Meminta kredensyal keamanan sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)

1. Tentukan lokasi direktori log peristiwa Anda, untuk digunakan dalam `docker run` perintah.

1. Buat gambar Docker menggunakan file di direktori lokal, menggunakan nama` glue/sparkui`, dan tag`latest`.

   ```
   $ docker build -t glue/sparkui:latest . 
   ```

1. Buat dan mulai wadah docker.

   Dalam perintah berikut, gunakan nilai yang diperoleh sebelumnya pada langkah 2 dan 3.

   1. Untuk membuat wadah docker menggunakan kredensyal pengguna Anda, gunakan perintah yang mirip dengan yang berikut

      ```
      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog
       -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY"
       -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
      ```

   1. Untuk membuat wadah docker menggunakan kredensyal sementara, gunakan ` org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider` sebagai penyedia, dan berikan nilai kredensi yang diperoleh pada langkah 2. Untuk informasi selengkapnya, lihat [Menggunakan Kredensyal Sesi dengan AWSCredentials Penyedia Sementara di dokumentasi](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Using_Session_Credentials_with_TemporaryAWSCredentialsProvider) *Hadoop: Integrasi dengan Amazon Web Services*.

      ```
      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog
       -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY
       -Dspark.hadoop.fs.s3a.session.token=AWS_SESSION_TOKEN
       -Dspark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider"
       -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
      ```
**catatan**  
Parameter konfigurasi ini berasal dari [ Hadoop-AWSModul](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html). Anda mungkin perlu menambahkan konfigurasi spesifik berdasarkan kasus penggunaan Anda. Misalnya: pengguna di wilayah terisolasi perlu mengkonfigurasi file` spark.hadoop.fs.s3a.endpoint`.

1. Buka `http://localhost:18080` di browser Anda untuk melihat UI Spark secara lokal.