

# 列統計を使用したクエリのパフォーマンスの最適化
<a name="column-statistics"></a>

追加のデータパイプラインを設定することなく、Parquet、ORC、JSON、ION、CSV、XML などのデータ形式で AWS Glue Data Catalog テーブルの列レベルの統計を計算できます。列統計は、列内の値に関するインサイトを得ることで、データプロファイルを理解するのに役立ちます。

データカタログは、列値（最小値、最大値、null 値の合計、個別の値の合計、値の平均長、真値の合計出現数など）の統計の生成をサポートします。Amazon Redshift や Amazon Athena などの AWS 分析サービスでは、これらの列統計を使用してクエリの実行プランを生成でき、クエリのパフォーマンスを向上させる最適なプランを選択できます。

列統計の生成には次の 3 つのシナリオがあります。

 **Auto**   
AWS Glue は、カタログレベルで列統計の自動生成をサポートしているため、AWS Glue Data Catalog で新しいテーブルの統計を自動的に生成できます。

**Scheduled (スケジュール済み)**  
AWS Glue は、列統計の生成を定期的なスケジュールで自動的に実行できるようにサポートします。  
スケジュールされた統計計算では、列統計タスクは、最小、最大、平均などのテーブルレベルの統計全体を新しい統計で更新し、クエリエンジンに正確かつ最新の統計を提供して、クエリの実行を最適化します。

**[オンデマンド]**  
このオプションを使用して、必要に応じて列統計をオンデマンドで生成します。これは、アドホック分析や統計をすぐに計算する必要がある場合に役立ちます。

AWS Glue コンソール、AWS CLI、AWS Glue API オペレーションを使用して列統計の生成タスクを実行するように設定できます。プロセスを開始すると、AWS Glue はバックグラウンドで Spark ジョブを開始し、データカタログ内の AWS Glue テーブルメタデータを更新します。列統計は、AWS Glue コンソールもしくは AWS CLI を使用して、または [GetColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForTable.html) API オペレーションを呼び出すことによって表示できます。

**注記**  
Lake Formation の許可を使用してテーブルに対するアクセスを制御している場合、列統計タスクによって引き受けられるロールには、統計を生成するための完全なテーブルアクセスが必要です。

 次の動画では、列統計を使用してクエリのパフォーマンスを向上させる方法が示されます。

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


**Topics**
+ [列統計を生成するための前提条件](column-stats-prereqs.md)
+ [列統計の自動生成](auto-column-stats-generation.md)
+ [スケジュールで列統計の生成](generate-column-stats.md)
+ [オンデマンドでの列統計の生成](column-stats-on-demand.md)
+ [列統計の表示](view-column-stats.md)
+ [列統計タスクの実行の表示](view-stats-run.md)
+ [列統計タスクの実行の停止](stop-stats-run.md)
+ [列統計の削除](delete-column-stats.md)
+ [考慮事項と制限事項](column-stats-notes.md)