

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

# Gunakan properti Spark untuk menentukan konfigurasi kustom
<a name="notebooks-spark-custom-jar-cfg"></a>

Saat membuat atau mengedit sesi di Amazon Athena untuk Apache Spark, Anda dapat menggunakan [properti Spark](https://spark.apache.org/docs/latest/configuration.html#spark-properties) untuk menentukan `.jar` file, paket, atau konfigurasi khusus lainnya untuk sesi tersebut. Untuk menentukan properti Spark, Anda dapat menggunakan konsol Athena, API Athena, AWS CLI atau Athena.

## Gunakan konsol Athena untuk menentukan properti Spark
<a name="notebooks-spark-custom-jar-cfg-console"></a>

Di konsol Athena, Anda dapat menentukan properti Spark saat [membuat buku catatan](notebooks-spark-getting-started.md#notebooks-spark-getting-started-creating-your-own-notebook) atau [mengedit](notebooks-spark-getting-started.md#notebooks-spark-getting-started-editing-session-details) sesi saat ini.

**Untuk menambahkan properti di kotak dialog **Buat buku catatan** atau **Edit detail sesi****

1. Perluas **properti Spark**.

1. Untuk menambahkan properti Anda, gunakan opsi **Edit dalam tabel** atau **Edit di JSON**.
   + Untuk opsi **Edit dalam tabel**, pilih **Tambahkan properti** untuk menambahkan properti, atau pilih **Hapus** untuk menghapus properti. Gunakan kotak **Kunci** dan **Nilai** untuk memasukkan nama properti dan nilainya.
     + Untuk menambahkan `.jar` file kustom, gunakan `spark.jars` properti.
     + Untuk menentukan file paket, gunakan `spark.jars.packages` properti.
   + Untuk memasukkan dan mengedit konfigurasi Anda secara langsung, pilih opsi **Edit di JSON**. Di editor teks JSON, Anda dapat melakukan tugas-tugas berikut:
     + Pilih **Salin** untuk menyalin teks JSON ke clipboard.
     + Pilih **Hapus** untuk menghapus semua teks dari editor JSON.
     + Pilih ikon pengaturan (roda gigi) untuk mengonfigurasi pembungkus garis atau pilih tema warna untuk editor JSON.

### Catatan
<a name="notebooks-spark-custom-jar-cfg-notes"></a>
+ Anda dapat mengatur properti di Athena untuk Spark, yang sama dengan mengatur [properti Spark](https://spark.apache.org/docs/latest/configuration.html#spark-properties) langsung pada objek. [SparkConf](https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.SparkConf.html)
+ Mulai semua properti Spark dengan `spark.` awalan. Properti dengan awalan lain diabaikan.
+ Tidak semua properti Spark tersedia untuk konfigurasi khusus di Athena. Jika Anda mengirimkan `StartSession` permintaan yang memiliki konfigurasi terbatas, sesi gagal dimulai.
  + Anda tidak dapat menggunakan `spark.athena.` awalan karena sudah dicadangkan.

## Gunakan AWS CLI atau Athena API untuk menyediakan konfigurasi kustom
<a name="notebooks-spark-custom-jar-cfg-cli-or-api"></a>

Untuk menggunakan AWS CLI atau Athena API untuk menyediakan konfigurasi sesi Anda, gunakan tindakan [StartSession](https://docs.aws.amazon.com/athena/latest/APIReference/API_StartSession.html)API atau perintah CLI [sesi awal](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/athena/start-session.html). Dalam `StartSession` permintaan Anda, gunakan `SparkProperties` bidang [EngineConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_EngineConfiguration.html)objek untuk meneruskan informasi konfigurasi Anda dalam format JSON. Ini memulai sesi dengan konfigurasi yang Anda tentukan.

Untuk menentukan properti Spark kustom dari AWS CLI, gunakan `engine-configuration` konfigurasi saat Anda memulai sesi interaktif.

```
aws athena start-session \ 
--region "REGION"
--work-group "WORKGROUP" \
--engine-configuration '{
    "Classifications": [{
      "Name": "spark-defaults",
      "Properties": {
        "spark.dynamicAllocation.minExecutors": "1",
        "spark.dynamicAllocation.initialExecutors": "2",
        "spark.dynamicAllocation.maxExecutors": "10",
        "spark.dynamicAllocation.executorIdleTimeout": "300"
      }
    }]
  }'
```

Anda juga dapat menentukan default konfigurasi di tingkat Workgroup menggunakan tindakan API atau tindakan `CreateWorkgroup` API. `UpdateWorkgroup` Default konfigurasi yang ditentukan di workgroup berlaku untuk semua Sesi yang dimulai untuk workgroup tersebut.

Untuk menentukan properti Spark default dari AWS CLI untuk workgroup, gunakan `engine-configuration` konfigurasi saat membuat Workgroup baru:

```
aws athena create-work-group \
  --region "REGION" \
  --name "WORKGROUP_NAME" \
  --configuration '{
    "EngineVersion": {
      "SelectedEngineVersion": "Apache Spark version 3.5"
    },
    "ExecutionRole": "EXECUTION_ROLE",
    "EngineConfiguration": {
      "Classifications": [
        {
          "Name": "spark-defaults",
          "Properties": {
            "spark.dynamicAllocation.minExecutors": "1",
            "spark.dynamicAllocation.initialExecutors": "2",
            "spark.dynamicAllocation.maxExecutors": "10",
            "spark.dynamicAllocation.executorIdleTimeout": "300"
          }
        }
      ]
    }
  }'
```

Untuk mengubah default properti Spark dari AWS CLI untuk workgroup, gunakan `engine-configuration` konfigurasi saat memperbarui Workgroup. Perubahan berlaku untuk sesi interaktif baru ke depan.

```
aws athena update-work-group \
  --region "REGION" \
  --work-group "WORKGROUP_NAME" \
  --configuration-updates '{
    "EngineVersion": {
      "SelectedEngineVersion": "Apache Spark version 3.5"
    },
    "ExecutionRole": "EXECUTION_ROLE",
    "EngineConfiguration": {
      "Classifications": [
        {
          "Name": "spark-defaults",
          "Properties": {
            "spark.dynamicAllocation.minExecutors": "1",
            "spark.dynamicAllocation.initialExecutors": "2",
            "spark.dynamicAllocation.maxExecutors": "12",
            "spark.dynamicAllocation.executorIdleTimeout": "300"
          }
        }
      ]
    }
  }'
```