

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

# Mengoptimalkan kinerja kueri menggunakan statistik kolom
<a name="column-statistics"></a>

Anda dapat menghitung statistik tingkat kolom untuk AWS Glue Data Catalog tabel dalam format data seperti Parket, ORC, JSON, ION, CSV, dan XMLtanpa menyiapkan pipeline data tambahan. Statistik kolom membantu Anda memahami profil data dengan mendapatkan wawasan tentang nilai dalam kolom. 

Data Catalog mendukung menghasilkan statistik untuk nilai kolom seperti nilai minimum, nilai maksimum, total nilai nol, total nilai yang berbeda, panjang rata-rata nilai, dan total kemunculan nilai sebenarnya. AWS layanan analisis seperti Amazon Redshift dan Amazon Athena dapat menggunakan statistik kolom ini untuk menghasilkan rencana eksekusi kueri, dan memilih paket optimal yang meningkatkan kinerja kueri.

Ada tiga skenario untuk menghasilkan statistik kolom: 

 **Otomatis**   
AWS Glue mendukung pembuatan statistik kolom otomatis di tingkat katalog sehingga dapat secara otomatis menghasilkan statistik untuk tabel baru di. AWS Glue Data Catalog

**Dijadwalkan**  
AWS Glue mendukung penjadwalan pembuatan statistik kolom sehingga dapat dijalankan secara otomatis pada jadwal berulang.   
Dengan perhitungan statistik terjadwal, tugas statistik kolom memperbarui statistik tingkat tabel secara keseluruhan, seperti min, max, dan avg dengan statistik baru, menyediakan mesin kueri yang akurat dan up-to-date statistik untuk mengoptimalkan eksekusi kueri. 

**Sesuai permintaan**  
Gunakan opsi ini untuk menghasilkan statistik kolom sesuai permintaan kapan pun diperlukan. Ini berguna untuk analisis ad-hoc atau ketika statistik perlu dihitung segera. 

Anda dapat mengonfigurasi untuk menjalankan tugas pembuatan statistik kolom menggunakan AWS Glue konsol, AWS CLI, dan operasi AWS Glue API. Saat Anda memulai proses, AWS Glue mulailah pekerjaan Spark di latar belakang dan perbarui metadata AWS Glue tabel di Katalog Data. Anda dapat melihat statistik kolom menggunakan AWS Glue konsol AWS CLI atau atau dengan memanggil operasi [GetColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForTable.html)API.

**catatan**  
Jika Anda menggunakan izin Lake Formation untuk mengontrol akses ke tabel, peran yang diasumsikan oleh tugas statistik kolom memerlukan akses tabel penuh untuk menghasilkan statistik.

 Video berikut menunjukkan cara meningkatkan kinerja kueri menggunakan statistik kolom. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/zUHEXJdHUxs?si=HjyhpoALR6RXJz2i/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/zUHEXJdHUxs?si=HjyhpoALR6RXJz2i)


**Topics**
+ [Prasyarat untuk menghasilkan statistik kolom](column-stats-prereqs.md)
+ [Pembuatan statistik kolom otomatis](auto-column-stats-generation.md)
+ [Menghasilkan statistik kolom pada jadwal](generate-column-stats.md)
+ [Menghasilkan statistik kolom sesuai permintaan](column-stats-on-demand.md)
+ [Melihat statistik kolom](view-column-stats.md)
+ [Melihat tugas statistik kolom berjalan](view-stats-run.md)
+ [Menghentikan tugas statistik kolom](stop-stats-run.md)
+ [Menghapus statistik kolom](delete-column-stats.md)
+ [Pertimbangan dan batasan](column-stats-notes.md)

# Prasyarat untuk menghasilkan statistik kolom
<a name="column-stats-prereqs"></a>

Untuk menghasilkan atau memperbarui statistik kolom, tugas pembuatan statistik mengasumsikan peran AWS Identity and Access Management (IAM) atas nama Anda. Berdasarkan izin yang diberikan untuk peran tersebut, tugas pembuatan statistik kolom dapat membaca data dari penyimpanan data Amazon S3.

Saat mengonfigurasi tugas pembuatan statistik kolom, Anda AWS Glue dapat membuat peran yang menyertakan kebijakan `AWSGlueServiceRole` AWS terkelola ditambah kebijakan sebaris yang diperlukan untuk sumber data yang ditentukan. 

Jika Anda menentukan peran yang ada untuk menghasilkan statistik kolom, pastikan peran tersebut menyertakan `AWSGlueServiceRole` kebijakan atau yang setara (atau versi bawah cakupan kebijakan ini), ditambah kebijakan sebaris yang diperlukan. Ikuti langkah-langkah ini untuk membuat peran IAM baru:

**catatan**  
 Untuk menghasilkan statistik untuk tabel yang dikelola oleh Lake Formation, peran IAM yang digunakan untuk menghasilkan statistik memerlukan akses tabel penuh. 

Saat mengonfigurasi tugas pembuatan statistik kolom, Anda AWS Glue dapat membuat peran yang menyertakan kebijakan `AWSGlueServiceRole` AWS terkelola ditambah kebijakan sebaris yang diperlukan untuk sumber data yang ditentukan. Anda juga dapat membuat peran dan melampirkan izin yang tercantum dalam kebijakan di bawah ini, dan menambahkan peran tersebut ke tugas pembuatan statistik kolom.

**Untuk membuat peran IAM untuk menghasilkan statistik kolom**

1. Untuk membuat peran IAM, lihat [Membuat peran IAM](https://docs.aws.amazon.com/glue/latest/dg/create-an-iam-role.html) untuk. AWS Glue

1. Untuk memperbarui peran yang ada, di konsol IAM, buka peran IAM yang digunakan oleh proses statistik kolom generate.

1. Di bagian **Tambahkan izin**, pilih **Lampirkan kebijakan**. Di jendela browser yang baru dibuka, pilih kebijakan `AWSGlueServiceRole` AWS terkelola.

1. Anda juga perlu menyertakan izin untuk membaca data dari lokasi data Amazon S3.

   Di bagian **Tambahkan izin**, pilih **Buat kebijakan**. Di jendela browser yang baru dibuka, buat kebijakan baru untuk digunakan dengan peran Anda.

1. Di halaman **Buat kebijakan**, pilih tab **JSON**. Salin `JSON` kode berikut ke kolom editor kebijakan.
**catatan**  
Dalam kebijakan berikut, ganti ID akun dengan yang valid Akun AWS, lalu ganti `region` dengan Wilayah tabel, dan `bucket-name` dengan nama bucket Amazon S3.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3BucketAccess",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject"
               ],
               "Resource": [
               	"arn:aws:s3:::amzn-s3-demo-bucket/*",
   							"arn:aws:s3:::amzn-s3-demo-bucket"
               ]
           }
        ]
   }
   ```

------

1. (Opsional) Jika Anda menggunakan izin Lake Formation untuk menyediakan akses ke data Anda, peran IAM memerlukan `lakeformation:GetDataAccess` izin.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "LakeFormationDataAccess",
         "Effect": "Allow",
         "Action": "lakeformation:GetDataAccess",
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

    Jika lokasi data Amazon S3 terdaftar dengan Lake Formation, dan peran IAM yang diasumsikan oleh tugas pembuatan statistik kolom tidak memiliki izin `IAM_ALLOWED_PRINCIPALS` grup yang diberikan pada tabel, peran tersebut memerlukan Lake Formation `ALTER` dan `DESCRIBE` izin pada tabel. Peran yang digunakan untuk mendaftarkan bucket Amazon S3 memerlukan Lake Formation `INSERT` dan `DELETE` izin di atas meja. 

   Jika lokasi data Amazon S3 tidak terdaftar dengan Lake Formation, dan peran IAM tidak memiliki izin `IAM_ALLOWED_PRINCIPALS` grup yang diberikan pada tabel, peran tersebut memerlukan Lake Formation `ALTER``DESCRIBE`, `INSERT` dan `DELETE` izin pada tabel. 

1. Jika Anda telah mengaktifkan `Automatic statistics generation` opsi tingkat katalog, peran IAM harus memiliki izin atau `glue:UpdateCatalog` izin Lake Formation pada Katalog `ALTER CATALOG` Data default. Anda dapat menggunakan `GetCatalog` operasi untuk memverifikasi properti katalog. 

1. (Opsional) Tugas pembuatan statistik kolom yang menulis terenkripsi Amazon CloudWatch Logs memerlukan izin berikut dalam kebijakan utama.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "CWLogsKmsPermissions",
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents",
           "logs:AssociateKmsKey"
         ],
         "Resource": [
           "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue:*"
         ]
       },
       {
         "Sid": "KmsPermissions",
         "Effect": "Allow",
         "Action": [
           "kms:GenerateDataKey",
           "kms:Decrypt",
           "kms:Encrypt"
         ],
         "Resource": [
           "arn:aws:kms:us-east-1:111122223333:key/arn of key used for ETL cloudwatch encryption"
         ],
         "Condition": {
           "StringEquals": {
             "kms:ViaService": [
               "glue.us-east-1.amazonaws.com"
             ]
           }
         }
       }
     ]
   }
   ```

------

1. Peran yang Anda gunakan untuk menjalankan statistik kolom harus memiliki `iam:PassRole` izin pada peran tersebut.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "iam:PassRole"
         ],
         "Resource": [
           "arn:aws:iam::111122223333:role/columnstats-role-name"
         ]
       }
     ]
   }
   ```

------

1. Saat Anda membuat peran IAM untuk menghasilkan statistik kolom, peran tersebut juga harus memiliki kebijakan kepercayaan berikut yang memungkinkan layanan untuk mengambil peran tersebut. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "TrustPolicy",
         "Effect": "Allow",
         "Principal": {
           "Service": "glue.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

# Pembuatan statistik kolom otomatis
<a name="auto-column-stats-generation"></a>

Pembuatan otomatis statistik kolom memungkinkan Anda untuk menjadwalkan dan secara otomatis menghitung statistik pada tabel baru di AWS Glue Data Catalog. Saat Anda mengaktifkan pembuatan statistik otomatis, Katalog Data akan menemukan tabel baru dengan format data tertentu seperti Parquet, JSON, CSV, XML, ORC, ION, dan Apache Iceberg, beserta jalur bucket masing-masing. Dengan konfigurasi katalog satu kali, Katalog Data menghasilkan statistik untuk tabel ini.

 Administrator data lake dapat mengonfigurasi pembuatan statistik dengan memilih katalog default di konsol Lake Formation, dan mengaktifkan statistik tabel menggunakan opsi. `Optimization configuration` Saat Anda membuat tabel baru atau memperbarui tabel yang ada di Katalog Data, Katalog Data mengumpulkan jumlah nilai berbeda (NDVs) untuk tabel Apache Iceberg, dan statistik tambahan seperti jumlah null, maksimum, minimum, dan panjang rata-rata untuk format file lain yang didukung setiap minggu. 

Jika Anda telah mengonfigurasi pembuatan statistik di tingkat tabel atau jika sebelumnya Anda telah menghapus setelan pembuatan statistik untuk tabel, pengaturan khusus tabel tersebut lebih diutamakan daripada pengaturan katalog default untuk pembuatan statistik kolom otomatis.

 Tugas pembuatan statistik otomatis menganalisis 50% catatan dalam tabel untuk menghitung statistik. Pembuatan statistik kolom otomatis memastikan bahwa Katalog Data mempertahankan metrik mingguan yang dapat digunakan oleh mesin kueri seperti Amazon Athena dan Amazon Redshift Spectrum untuk meningkatkan kinerja kueri dan potensi penghematan biaya. Ini memungkinkan penjadwalan pembuatan statistik menggunakan AWS Glue APIs atau konsol, menyediakan proses otomatis tanpa intervensi manual. 

**Topics**
+ [Mengaktifkan pembuatan statistik otomatis tingkat katalog](enable-auto-column-stats-generation.md)
+ [Melihat pengaturan tingkat tabel otomatis](view-auto-column-stats-settings.md)
+ [Menonaktifkan pembuatan statistik kolom tingkat katalog](disable-auto-column-stats-generation.md)

# Mengaktifkan pembuatan statistik otomatis tingkat katalog
<a name="enable-auto-column-stats-generation"></a>

Anda dapat mengaktifkan pembuatan statistik kolom otomatis untuk semua tabel dan tabel Apache Iceberg baru dalam format tabel non-OTF (Parket, JSON, CSV, XML, ORC, ION) di Katalog Data. Setelah membuat tabel, Anda juga dapat secara eksplisit memperbarui pengaturan statistik kolom secara manual.

 Untuk memperbarui pengaturan Katalog Data untuk mengaktifkan tingkat katalog, peran IAM yang digunakan harus memiliki `glue:UpdateCatalog` izin atau AWS Lake Formation `ALTER CATALOG` izin pada katalog root. Anda dapat menggunakan `GetCatalog` API untuk memverifikasi properti katalog. 

------
#### [ Konsol Manajemen AWS ]

**Untuk mengaktifkan pembuatan statistik kolom otomatis di tingkat akun**

1. Buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Di bilah navigasi kiri, pilih **Katalog**.

1. Pada halaman **ringkasan Katalog**, pilih **Edit** di bawah **konfigurasi Optimasi**.   
![\[Tangkapan layar menunjukkan opsi yang tersedia untuk menghasilkan statistik kolom.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-column-stats-auto.png)

1. Pada halaman **konfigurasi pengoptimalan tabel**, pilih opsi **Aktifkan pembuatan statistik otomatis untuk tabel katalog**.  
![\[Tangkapan layar menunjukkan opsi yang tersedia untuk menghasilkan statistik kolom.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-optimization-option.jpg)

1. Pilih peran IAM yang ada atau buat yang baru yang memiliki izin yang diperlukan untuk menjalankan tugas statistik kolom.

1. Pilih **Kirim**.

------
#### [ AWS CLI ]

Anda juga dapat mengaktifkan pengumpulan statistik tingkat katalog melalui. AWS CLI Untuk mengonfigurasi pengumpulan statistik tingkat tabel menggunakan AWS CLI, jalankan perintah berikut:

```
aws glue update-catalog --cli-input-json '{
    "name": "123456789012",
    "catalogInput": {
        "description": "Updating root catalog with role arn",
        "catalogProperties": {
            "customProperties": {
                "ColumnStatistics.RoleArn": "arn:aws:iam::"123456789012":role/service-role/AWSGlueServiceRole",
                "ColumnStatistics.Enabled": "true"
            }
        }
    }
}'
```

 Perintah di atas memanggil AWS Glue`UpdateCatalog` operasi, yang mengambil `CatalogProperties` struktur dengan pasangan nilai kunci berikut untuk pembuatan statistik tingkat katalog: 
+ ColumnStatistics. RoleArn — ARN peran IAM untuk digunakan untuk semua tugas yang dipicu untuk pembuatan statistik tingkat Katalog
+ ColumnStatistics.Enabled - Boolean menunjukkan apakah pengaturan tingkat katalog diaktifkan atau dinonaktifkan

------

# Melihat pengaturan tingkat tabel otomatis
<a name="view-auto-column-stats-settings"></a>

 Saat pengumpulan statistik tingkat katalog diaktifkan, kapan saja tabel Apache Hive atau tabel Apache Iceberg dibuat atau diperbarui melalui atau melalui Konsol Manajemen AWS, SDK, `CreateTable` atau, `UpdateTable` APIs pengaturan tingkat tabel yang setara dibuat untuk tabel tersebut. Perayap AWS Glue

 Tabel dengan pembuatan statistik otomatis diaktifkan harus mengikuti salah satu properti berikut:
+ Gunakan `InputSerdeLibrary` yang dimulai dengan org.apache.hadoop dan sama `TableType` `EXTERNAL_TABLE`
+ Gunakan `InputSerdeLibrary` yang dimulai dengan `com.amazon.ion` dan `TableType` sama `EXTERNAL_TABLE`
+ Berisi table\$1type: “ICEBERG” dalam struktur parameternya. 

 Setelah membuat atau memperbarui tabel, Anda dapat memverifikasi detail tabel untuk mengonfirmasi pembuatan statistik. `Statistics generation summary`Menunjukkan `Schedule` properti ditetapkan sebagai `AUTO` dan `Statistics configuration` nilai adalah`Inherited from catalog`. Setiap pengaturan tabel dengan pengaturan berikut akan secara otomatis dipicu oleh Glue secara internal. 

![\[Gambar tabel Hive dengan koleksi statistik tingkat katalog telah diterapkan dan statistik telah dikumpulkan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/auto-stats-summary.png)


# Menonaktifkan pembuatan statistik kolom tingkat katalog
<a name="disable-auto-column-stats-generation"></a>

 Anda dapat menonaktifkan pembuatan statistik kolom otomatis untuk tabel baru menggunakan AWS Lake Formation konsol, `glue:UpdateCatalogSettings` API, atau `glue:DeleteColumnStatisticsTaskSettings` API. 

**Untuk menonaktifkan pembuatan statistik kolom otomatis di tingkat akun**

1. Buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Di bilah navigasi kiri, pilih **Katalog**.

1. Pada halaman **ringkasan Katalog**, pilih **Edit** di bawah **konfigurasi Optimasi**. 

1. Pada halaman **konfigurasi pengoptimalan tabel**, batalkan pilihan **Aktifkan pembuatan statistik otomatis untuk tabel katalog** pilihan.

1. Pilih **Kirim**.

# Menghasilkan statistik kolom pada jadwal
<a name="generate-column-stats"></a>

Ikuti langkah-langkah ini untuk mengonfigurasi jadwal untuk menghasilkan statistik kolom dalam AWS Glue Data Catalog menggunakan AWS Glue konsol, konsol AWS CLI, atau [CreateColumnStatisticsTaskSettings](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-CreateColumnStatisticsTaskSettings)operasi.

------
#### [ Console ]

**Untuk menghasilkan statistik kolom menggunakan konsol**

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

1. Pilih tabel Katalog Data.

1. Pilih tabel dari daftar. 

1. Pilih tab **Statistik kolom** di bagian bawah halaman **Tabel**.

1. Anda juga dapat memilih **Hasilkan sesuai jadwal di** bawah **Statistik kolom** dari **Tindakan**.

1. Pada halaman **Hasilkan statistik pada jadwal**, konfigurasikan jadwal berulang untuk menjalankan tugas statistik kolom dengan memilih frekuensi dan waktu mulai. Anda dapat memilih frekuensi per jam, harian, mingguan, atau menentukan ekspresi cron untuk menentukan jadwal.

   Ekspresi cron adalah string yang mewakili pola jadwal, yang terdiri dari 6 bidang yang dipisahkan oleh spasi: \$1 \$1 \$1 \$1 \$1 <minute><hour><day of month><month><day of week><year>Misalnya, untuk menjalankan tugas setiap hari di tengah malam, ekspresi cron adalah: 0 0 \$1 \$1? \$1

   Untuk informasi selengkapnya, lihat [Ekspresi cron](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html#CronExpressions).  
![\[Tangkapan layar menunjukkan opsi yang tersedia untuk menghasilkan statistik kolom.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/generate-column-stats-schedule.png)

1. Selanjutnya, pilih opsi kolom untuk menghasilkan statistik.
   + **Semua kolom** - Pilih opsi ini untuk menghasilkan statistik untuk semua kolom dalam tabel.
   + **Kolom yang dipilih** - Pilih opsi ini untuk menghasilkan statistik untuk kolom tertentu. Anda dapat memilih kolom dari daftar drop-down.

1. Pilih peran IAM atau buat peran yang ada yang memiliki izin untuk menghasilkan statistik. AWS Glue mengasumsikan peran ini untuk menghasilkan statistik kolom.

   Pendekatan yang lebih cepat adalah membiarkan AWS Glue konsol membuat peran untuk Anda. Peran yang dibuatnya khusus untuk menghasilkan statistik kolom, dan mencakup kebijakan `AWSGlueServiceRole` AWS terkelola ditambah kebijakan sebaris yang diperlukan untuk sumber data yang ditentukan. 

   Jika Anda menentukan peran yang ada untuk menghasilkan statistik kolom, pastikan peran tersebut menyertakan `AWSGlueServiceRole` kebijakan atau yang setara (atau versi bawah cakupan kebijakan ini), ditambah kebijakan sebaris yang diperlukan. 

1. (Opsional) Selanjutnya, pilih konfigurasi keamanan untuk mengaktifkan enkripsi saat istirahat untuk log.

1. (Opsional) Anda dapat memilih ukuran sampel dengan menunjukkan hanya persentase baris tertentu dari tabel untuk menghasilkan statistik. Defaultnya adalah semua baris. Gunakan panah atas dan bawah untuk menambah atau mengurangi nilai persen. 

   Kami merekomendasikan untuk memasukkan semua baris dalam tabel untuk menghitung statistik yang akurat. Gunakan baris sampel untuk menghasilkan statistik kolom hanya jika nilai perkiraan dapat diterima.

1. Pilih **Hasilkan statistik** untuk menjalankan tugas pembuatan statistik kolom.

------
#### [ AWS CLI ]

Anda dapat menggunakan AWS CLI contoh berikut untuk membuat jadwal pembuatan statistik kolom. Nama database, nama tabel, dan peran adalah parameter yang diperlukan, dan parameter opsional adalah jadwal, id katalog, ukuran sampel column-name-list, dan konfigurasi keamanan.

```
aws glue create-column-statistics-task-settings \ 
 --database-name 'database_name' \ 
 --table-name table_name \ 
 --role 'arn:aws:iam::123456789012:role/stats-role' \ 
 --schedule 'cron(0 0-5 14 * * ?)' \ 
 --column-name-list 'col-1' \  
 --catalog-id '123456789012' \ 
 --sample-size '10.0 ' \
 --security-configuration 'test-security'
```

Anda dapat menghasilkan statistik kolom juga dengan memanggil [StartColumnStatisticsTaskRun](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-StartColumnStatisticsTaskRun)operasi.

------

# Mengelola jadwal untuk pembuatan statistik kolom
<a name="manage-column-stats-schedule"></a>

Anda dapat mengelola operasi penjadwalan seperti memperbarui, memulai, menghentikan, dan menghapus jadwal untuk pembuatan statistik kolom. AWS Glue Anda dapat menggunakan [operasi API statistik AWS Glue konsol AWS CLI, atau AWS Glue kolom](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html) untuk melakukan tugas ini.

**Topics**
+ [Memperbarui jadwal pembuatan statistik kolom](#update-column-stats-shedule)
+ [Menghentikan jadwal untuk pembuatan statistik kolom](#stop-column-stats-schedule)
+ [Melanjutkan jadwal untuk pembuatan statistik kolom](#resume-column-stats-schedule)
+ [Menghapus jadwal pembuatan statistik kolom](#delete-column-stats-schedule)

## Memperbarui jadwal pembuatan statistik kolom
<a name="update-column-stats-shedule"></a>

Anda dapat memperbarui jadwal untuk memicu tugas pembuatan statistik kolom setelah dibuat. Anda dapat menggunakan AWS Glue konsol, AWS CLI, atau menjalankan [UpdateColumnStatisticsTaskSettings](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-UpdateColumnStatisticsTaskSettings)operasi untuk memperbarui jadwal untuk tabel. Anda dapat memodifikasi parameter jadwal yang ada, seperti jenis jadwal (sesuai permintaan, atau terjadwal) dan parameter opsional lainnya. 

------
#### [ Konsol Manajemen AWS ]

**Untuk memperbarui pengaturan untuk tugas pembuatan statistik kolom**

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

1. Pilih tabel yang ingin Anda perbarui dari daftar tabel.

1. Di bagian bawah halaman detail tabel, pilih **Statistik kolom**. 

1. Di bawah **Tindakan**, pilih **Edit** untuk memperbarui jadwal.

1. Buat perubahan yang diinginkan pada jadwal, dan pilih **Simpan**.

------
#### [ AWS CLI ]

 Jika Anda tidak menggunakan AWS Glue fitur pembuatan statistik di konsol, Anda dapat memperbarui jadwal secara manual menggunakan `update-column-statistics-task-settings` perintah. Contoh berikut menunjukkan cara memperbarui statistik kolom menggunakan AWS CLI. 

```
aws glue update-column-statistics-task-settings \ 
 --database-name 'database_name' \ 
 --table-name 'table_name' \ 
 --role arn:aws:iam::123456789012:role/stats_role \ 
 --schedule 'cron(0 0-5 16 * * ?)' \ 
 --column-name-list 'col-1' \
 --sample-size '20.0' \  
 --catalog-id '123456789012'\
 --security-configuration 'test-security'
```

------

## Menghentikan jadwal untuk pembuatan statistik kolom
<a name="stop-column-stats-schedule"></a>

 Jika Anda tidak lagi membutuhkan statistik tambahan, Anda dapat menghentikan pembuatan yang dijadwalkan untuk menghemat sumber daya dan biaya. Menjeda jadwal tidak memengaruhi statistik yang dihasilkan sebelumnya. Anda dapat melanjutkan jadwal sesuai keinginan Anda. 

------
#### [ Konsol Manajemen AWS ]

**Untuk menghentikan jadwal tugas pembuatan statistik kolom**

1. Di AWS Glue konsol, pilih **Tabel** di bawah Katalog Data.

1. Pilih tabel dengan statistik kolom.

1. Pada halaman **Rincian tabel**, pilih **Statistik kolom**.

1. Di bawah **Tindakan**, pilih **Generasi terjadwal**, **Jeda**.

1. Pilih **Jeda** untuk mengonfirmasi.

------
#### [ AWS CLI ]

Untuk menghentikan jadwal menjalankan tugas statistik kolom menggunakan AWS CLI, Anda dapat menggunakan perintah berikut: 

```
aws glue stop-column-statistics-task-run-schedule \
 --database-name ''database_name' \
 --table-name 'table_name'
```

Ganti `database_name` dan `table_name` dengan nama sebenarnya dari database dan tabel yang ingin Anda hentikan jadwal tugas menjalankan statistik kolom.

------

## Melanjutkan jadwal untuk pembuatan statistik kolom
<a name="resume-column-stats-schedule"></a>

 Jika Anda telah menghentikan sementara jadwal pembuatan statistik, AWS Glue memungkinkan Anda untuk melanjutkan jadwal sesuai keinginan Anda. Anda dapat melanjutkan jadwal menggunakan AWS Glue konsol, AWS CLI, atau [StartColumnStatisticsTaskRunSchedule](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-StartColumnStatisticsTaskRunSchedule)operasi. 

------
#### [ Konsol Manajemen AWS ]

**Untuk melanjutkan jadwal pembuatan statistik kolom**

1. Di AWS Glue konsol, pilih **Tabel** di bawah Katalog Data.

1. Pilih tabel dengan statistik kolom.

1. Pada halaman **Rincian tabel**, pilih **Statistik kolom**.

1. Di bawah **Tindakan**, pilih **Generasi terjadwal**, dan pilih **Lanjutkan**.

1. Pilih **Lanjutkan** untuk mengonfirmasi.

------
#### [ AWS CLI ]

Ganti `database_name` dan `table_name` dengan nama sebenarnya dari database dan tabel yang ingin Anda hentikan jadwal tugas menjalankan statistik kolom.

```
aws glue start-column-statistics-task-run-schedule \
 --database-name 'database_name' \
 --table-name 'table_name'
```

------

## Menghapus jadwal pembuatan statistik kolom
<a name="delete-column-stats-schedule"></a>

 Meskipun mempertahankan up-to-date statistik umumnya direkomendasikan untuk kinerja kueri yang optimal, ada kasus penggunaan khusus di mana menghapus jadwal pembuatan otomatis mungkin bermanfaat.
+ Jika data tetap relatif statis, statistik kolom yang ada mungkin tetap akurat untuk waktu yang lama, mengurangi kebutuhan untuk pembaruan yang sering. Menghapus jadwal dapat mencegah konsumsi sumber daya yang tidak perlu dan overhead yang terkait dengan statistik regenerasi pada data yang tidak berubah.
+ Ketika kontrol manual atas pembuatan statistik lebih disukai. Dengan menghapus jadwal otomatis, administrator dapat secara selektif memperbarui statistik kolom pada interval tertentu atau setelah perubahan data yang signifikan, menyelaraskan proses dengan strategi pemeliharaan dan kebutuhan alokasi sumber daya mereka. 

------
#### [ Konsol Manajemen AWS ]

**Untuk menghapus jadwal pembuatan statistik kolom**

1. Di AWS Glue konsol, pilih **Tabel** di bawah Katalog Data.

1. Pilih tabel dengan statistik kolom.

1. Pada halaman **Rincian tabel**, pilih **Statistik kolom**.

1. Di bawah **Tindakan**, pilih **Generasi terjadwal**, **Hapus**.

1. Pilih **Hapus** untuk mengonfirmasi.

------
#### [ AWS CLI ]

Ganti `database_name` dan `table_name` dengan nama sebenarnya dari database dan tabel yang ingin Anda hentikan jadwal tugas menjalankan statistik kolom.

Anda dapat menghapus jadwal statistik kolom menggunakan operasi [DeleteColumnStatisticsTaskSettings](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-DeleteColumnStatisticsTaskSettings)API atau AWS CLI. Contoh berikut menunjukkan cara menghapus jadwal untuk menghasilkan statistik kolom menggunakan AWS Command Line Interface (AWS CLI).

```
aws glue delete-column-statistics-task-settings \
    --database-name 'database_name' \
    --table-name 'table_name'
```

------

# Menghasilkan statistik kolom sesuai permintaan
<a name="column-stats-on-demand"></a>

Anda dapat menjalankan tugas statistik kolom untuk tugas AWS Glue Data Catalog tabel sesuai permintaan tanpa jadwal yang ditetapkan. Opsi ini berguna untuk analisis ad-hoc atau ketika statistik perlu segera dihitung.

Ikuti langkah-langkah ini untuk menghasilkan statistik kolom sesuai permintaan untuk tabel Katalog Data menggunakan AWS Glue konsol atau AWS CLI.

------
#### [ Konsol Manajemen AWS ]

**Untuk menghasilkan statistik kolom menggunakan konsol**

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

1. Pilih tabel Katalog Data.

1.  Pilih tabel dari daftar. 

1. Pilih **Hasilkan statistik** di bawah menu **Tindakan**.

   Anda juga dapat memilih **Menghasilkan****, Menghasilkan sesuai permintaan** opsi di bawah tab **Statistik kolom** di bagian bawah halaman **Tabel**.

1. Ikuti langkah 7 - 11 di [Menghasilkan statistik kolom pada jadwal](generate-column-stats.md) untuk menghasilkan statistik kolom untuk tabel.

1. Pada halaman **Hasilkan statistik**, tentukan opsi berikut:   
![\[Tangkapan layar menunjukkan opsi yang tersedia untuk menghasilkan statistik kolom.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/generate-column-stats.png)
   + **Semua kolom** - Pilih opsi ini untuk menghasilkan statistik untuk semua kolom dalam tabel.
   + **Kolom yang dipilih** - Pilih opsi ini untuk menghasilkan statistik untuk kolom tertentu. Anda dapat memilih kolom dari daftar drop-down.
   + **Peran IAM** —Pilih **Buat peran IAM baru** yang memiliki kebijakan izin yang diperlukan untuk menjalankan tugas pembuatan statistik kolom. Pilih Lihat detail izin untuk meninjau pernyataan kebijakan. Anda juga dapat memilih peran IAM dari daftar. Untuk informasi lebih lanjut tentang izin yang diperlukan, lihat [Prasyarat untuk menghasilkan statistik kolom](column-stats-prereqs.md).

     AWS Glue mengasumsikan izin peran yang Anda tentukan untuk menghasilkan statistik. 

     Untuk informasi selengkapnya tentang penyediaan peran AWS Glue, lihat [Kebijakan berbasis identitas](https://docs.aws.amazon.com/glue/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies) untuk. AWS Glue.
   + (Opsional) Selanjutnya, pilih konfigurasi keamanan untuk mengaktifkan enkripsi saat istirahat untuk log.
   + **Baris sampel** - Pilih hanya persentase baris tertentu dari tabel untuk menghasilkan statistik. Defaultnya adalah semua baris. Gunakan panah atas dan bawah untuk menambah atau mengurangi nilai persen.
**catatan**  
Kami merekomendasikan untuk memasukkan semua baris dalam tabel untuk menghitung statistik yang akurat. Gunakan baris sampel untuk menghasilkan statistik kolom hanya jika nilai perkiraan dapat diterima.

   Pilih **Hasilkan statistik** untuk menjalankan tugas.

------
#### [ AWS CLI ]

Perintah ini akan memicu tugas statistik kolom yang dijalankan untuk tabel yang ditentukan. Anda perlu memberikan nama database, nama tabel, peran IAM dengan izin untuk menghasilkan statistik, dan secara opsional memberikan nama kolom dan persentase ukuran sampel untuk perhitungan statistik.

```
aws glue start-column-statistics-task-run \ 
    --database-name 'database_name \ 
    --table-name 'table_name' \ 
    --role 'arn:aws:iam::123456789012:role/stats-role' \
    --column-name 'col1','col2'  \
    --sample-size 10.0
```

Perintah ini akan memulai tugas untuk menghasilkan statistik kolom untuk tabel yang ditentukan. 

------

## Memperbarui statistik kolom sesuai permintaan
<a name="update-column-stats-on-demand"></a>

 Mempertahankan statistik up-to-date kolom sangat penting bagi pengoptimal kueri untuk menghasilkan rencana eksekusi yang efisien, memastikan peningkatan kinerja kueri, mengurangi konsumsi sumber daya, dan kinerja sistem keseluruhan yang lebih baik. Proses ini sangat penting setelah perubahan data yang signifikan, seperti beban massal atau modifikasi ekstensif, yang dapat membuat statistik yang ada menjadi usang. 

Anda perlu menjalankan tugas **Hasilkan statistik** secara eksplisit dari AWS Glue konsol untuk menyegarkan statistik kolom. Katalog Data tidak secara otomatis menyegarkan statistik.

Jika Anda tidak menggunakan AWS Glue fitur pembuatan statistik di konsol, Anda dapat memperbarui statistik kolom secara manual menggunakan operasi [UpdateColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateColumnStatisticsForTable.html)API atau AWS CLI. Contoh berikut menunjukkan cara memperbarui statistik kolom menggunakan AWS CLI.

```
aws glue update-column-statistics-for-table --cli-input-json:

{
    "CatalogId": "111122223333",
    "DatabaseName": "database_name",
    "TableName": "table_name",
    "ColumnStatisticsList": [
        {
            "ColumnName": "col1",
            "ColumnType": "Boolean",
            "AnalyzedTime": "1970-01-01T00:00:00",
            "StatisticsData": {
                "Type": "BOOLEAN",
                "BooleanColumnStatisticsData": {
                    "NumberOfTrues": 5,
                    "NumberOfFalses": 5,
                    "NumberOfNulls": 0
                }
            }
        }
    ]
}
```

# Melihat statistik kolom
<a name="view-column-stats"></a>

Setelah berhasil menghasilkan statistik, Data Catalog menyimpan informasi ini untuk pengoptimal berbasis biaya di dan Amazon Amazon Athena Redshift untuk membuat pilihan optimal saat menjalankan kueri. Statistik bervariasi berdasarkan jenis kolom.

------
#### [ Konsol Manajemen AWS ]

**Untuk melihat statistik kolom untuk tabel**
+ Setelah menjalankan tugas statistik **kolom, tab Statistik kolom** pada halaman **Rincian tabel** menunjukkan statistik untuk tabel.   
![\[Tangkapan layar menunjukkan kolom yang dihasilkan dari proses terbaru.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/view-column-stats.png)

  Statistik berikut tersedia:
  + Nama kolom: Nama kolom yang digunakan untuk menghasilkan statistik
  + Terakhir diperbarui: Data dan waktu ketika statistik dihasilkan
  + Panjang rata-rata: Panjang rata-rata nilai di kolom
  + Nilai yang berbeda: Jumlah total nilai yang berbeda di kolom. Kami memperkirakan jumlah nilai yang berbeda dalam kolom dengan kesalahan relatif 5%.
  + Nilai maks: Nilai terbesar di kolom.
  + Nilai min: Nilai terkecil di kolom. 
  + Panjang maks: Panjang nilai tertinggi di kolom.
  + Nilai nol: Jumlah total nilai null di kolom.
  + Nilai sebenarnya: Jumlah total nilai sebenarnya di kolom.
  + Nilai palsu: Jumlah total nilai palsu di kolom.
  + NumFiles: Jumlah total file dalam tabel. Nilai ini tersedia di bawah tab **Advanced properties**.

------
#### [ AWS CLI ]

Contoh berikut menunjukkan bagaimana untuk mengambil statistik kolom menggunakan AWS CLI.

```
aws glue get-column-statistics-for-table \
    --database-name database_name \
    --table-name table_name \
    --column-names <column_name>
```

 Anda juga dapat melihat statistik kolom menggunakan operasi [GetColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForTable.html)API. 

------

# Melihat tugas statistik kolom berjalan
<a name="view-stats-run"></a>

Setelah menjalankan tugas statistik kolom, Anda dapat menjelajahi detail menjalankan tugas untuk tabel menggunakan AWS Glue konsol, AWS CLI atau menggunakan [GetColumnStatisticsTaskRuns](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-GetColumnStatisticsTaskRun)operasi.

------
#### [ Console ]

**Untuk melihat rincian tugas statistik kolom**

1. Di AWS Glue konsol, pilih **Tabel** di bawah Katalog Data.

1. Pilih tabel dengan statistik kolom.

1. Pada halaman **Rincian tabel**, pilih **Statistik kolom**.

1. Pilih **Lihat berjalan**.

   Anda dapat melihat informasi tentang semua proses yang terkait dengan tabel yang ditentukan.  
![\[Tangkapan layar menunjukkan opsi yang tersedia untuk menghasilkan statistik kolom.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/view-column-stats-task-runs.png)

------
#### [ AWS CLI ]

Dalam contoh berikut, ganti nilai untuk `DatabaseName` dan `TableName` dengan database dan nama tabel yang sebenarnya.

```
aws glue get-column-statistics-task-runs --input-cli-json file://input.json
{
    "DatabaseName": "database_name",
    "TableName": "table_name"
}
```

------

# Menghentikan tugas statistik kolom
<a name="stop-stats-run"></a>

Anda dapat menghentikan tugas statistik kolom yang dijalankan untuk tabel menggunakan AWS Glue konsol, AWS CLI atau menggunakan [StopColumnStatisticsTaskRun](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-StopColumnStatisticsTaskRun)operasi.

------
#### [ Console ]

**Untuk menghentikan tugas statistik kolom, jalankan**

1. Di AWS Glue konsol, pilih **Tabel** di bawah Katalog Data.

1. Pilih tabel dengan tugas statistik kolom yang sedang berjalan.

1. Pada halaman **Rincian tabel**, pilih **Statistik kolom**.

1. Pilih **Berhenti**.

   Jika Anda menghentikan tugas sebelum proses selesai, statistik kolom tidak akan dihasilkan untuk tabel.

------
#### [ AWS CLI ]

Dalam contoh berikut, ganti nilai untuk `DatabaseName` dan `TableName` dengan database dan nama tabel yang sebenarnya.

```
aws glue stop-column-statistics-task-run --input-cli-json file://input.json
{
    "DatabaseName": "database_name",
    "TableName": "table_name"
}
```

------

# Menghapus statistik kolom
<a name="delete-column-stats"></a>

Anda dapat menghapus statistik kolom menggunakan operasi [DeleteColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_DeleteColumnStatisticsForTable.html)API atau AWS CLI. Contoh berikut menunjukkan cara menghapus statistik kolom menggunakan AWS Command Line Interface (AWS CLI).

```
aws glue delete-column-statistics-for-table \
    --database-name 'database_name' \
    --table-name 'table_name' \
    --column-name 'column_name'
```

# Pertimbangan dan batasan
<a name="column-stats-notes"></a>

Pertimbangan dan batasan berikut berlaku untuk menghasilkan statistik kolom.

**Pertimbangan-pertimbangan**
+ Menggunakan sampling untuk menghasilkan statistik mengurangi waktu berjalan, tetapi dapat menghasilkan statistik yang tidak akurat.
+ Katalog Data tidak menyimpan versi statistik yang berbeda.
+ Anda hanya dapat menjalankan satu tugas pembuatan statistik pada satu waktu per tabel.
+ Jika tabel dienkripsi menggunakan AWS KMS kunci pelanggan yang terdaftar dengan Katalog Data, AWS Glue gunakan kunci yang sama untuk mengenkripsi statistik.

**Tugas statistik kolom mendukung menghasilkan statistik:**
+ Ketika peran IAM memiliki izin tabel lengkap (IAM atau Lake Formation).
+ Ketika peran IAM memiliki izin di atas meja menggunakan mode akses hibrida Lake Formation.

**Tugas statistik kolom tidak mendukung pembuatan statistik untuk:**
+ Tabel dengan kontrol akses berbasis sel Lake Formation
+ Danau data transaksional - Yayasan Linux Delta Lake, Apache Hudi
+ Tabel dalam database federasi - Hive metastore, datashares Amazon Redshift
+ Kolom bersarang, array, dan tipe data struct.
+ Tabel yang dibagikan dengan Anda dari akun lain