

# カタログレベルでの統計の自動生成を有効化
<a name="enable-auto-column-stats-generation"></a>

データカタログのすべての新しい Apache Iceberg テーブルと、OTF 以外のテーブル (Parquet、JSON、CSV、XML、ORC、ION) 形式のテーブルに対して、列統計の自動生成を有効にできます。テーブルを作成すると、列統計の設定を手動で明示的に更新することもできます。

 データカタログの設定を更新してカタログレベルを有効にするには、使用する IAM ロールに、ルートカタログに対する `glue:UpdateCatalog` アクセス許可または AWS Lake Formation `ALTER CATALOG` アクセス許可が必要になります。カタログのプロパティは、`GetCatalog` API を使用して確認できます。

------
#### [ AWS マネジメントコンソール ]

**アカウントレベルで列統計の自動生成を有効にするには**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

1. 左のナビゲーションペインで **[カタログ]** を選択します。

1. **[カタログの概要]** ページの **[最適化の設定]** で **[編集]** を選択します。  
![\[このスクリーンショットは、列統計の生成に使用できるオプションを示しています。\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/images/edit-column-stats-auto.png)

1. **[テーブル最適化の設定]** ページで、**[カタログのテーブルの自動統計生成を有効にする]** を選択します。  
![\[このスクリーンショットは、列統計の生成に使用できるオプションを示しています。\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/images/edit-optimization-option.jpg)

1. 既存の IAM ロールを選択するか、列統計タスクを実行するための必要なアクセス許可を持つ新しいロールを作成します。

1. **[送信]** を選択します。

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

AWS CLI を使ってカタログレベルの統計収集を有効にすることもできます。AWS CLI を使用してテーブルレベルの統計収集を設定するには、次のコマンドを実行します。

```
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"
            }
        }
    }
}'
```

 上記のコマンドは AWS Glue の `UpdateCatalog` オペレーションを呼び出します。これにより、カタログレベルの統計を生成するために、次のキーと値のペアを持つ `CatalogProperties` 構造が取り込まれます。
+ ColumnStatistics.RoleArn – カタログレベルの統計生成でトリガーされるすべてのタスクで使用する IAM ロール ARN
+ ColumnStatistics.Enabled – カタログレベルの設定が有効か無効かを示すブール値

------