

# テーブルの場所とパーティションレベルの指定
<a name="crawler-table-level"></a>

デフォルトでは、Amazon S3 に保存されたデータのテーブルをクローラーが定義するときに、クローラーはスキーマを結合して最上位テーブル (`year=2019`) を作成しようとします。場合によっては、フォルダ `month=Jan` のテーブルをクローラーが作成することを期待することがありますが、兄弟フォルダ (`month=Mar`) が同じテーブルにマージされているので、代わりにクローラーはパーティションを作成します。

テーブルレベルのクローラーオプションを使用すると、クローラーにテーブルの配置場所やパーティションの作成方法を柔軟に指定できます。**テーブルレベル** を指定すると、その絶対レベルにAmazon S3 バケットからテーブルが作成されます。

![テーブルレベルがレベル 2 に指定されている場合のクローラーのグループ化](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/images/crawler-table-level1.jpg)


 コンソールでクローラーを設定するとき、**テーブルレベル** クローラーオプションの値を指定できます。値は、テーブルの場所 (データセット内の絶対レベル) を示す正の整数である必要があります。最上位レベルのフォルダのレベルは 1 です。例えば、`mydataset/year/month/day/hour` というパスで、レベルが 3 に設定されている場合、テーブルは `mydataset/year/month` という場所に作成されます。

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

1. AWS マネジメントコンソール にサインインし、AWS Glue コンソール ([https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)) を開きます。

1. **[Data Catalog]** で **[クローラー]** を選択します。

1. クローラーを設定するときは、**[出力とスケジューリング]** で、**[詳細オプション]** の **[テーブルレベル]** を選択します。

![クローラー設定でのテーブルレベルの指定。](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/images/crawler-configuration-console.png)


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

AWS CLI を使用してクローラーを設定するときは、次のサンプルコードに示すように `configuration` パラメータを設定します。

```
aws glue update-crawler \
  --name myCrawler \
  --configuration '{"Version": 1.0, "Grouping": { "TableLevelConfiguration": 2 }}'
```

------
#### [ API ]

API を使用してクローラー設定をすると、次の JSON オブジェクトの文字列表現をする `Configuration` フィールドを設定します。例: 

```
configuration = jsonencode(
{
   "Version": 1.0,
   "Grouping": {
            TableLevelConfiguration = 2  
        }
})
```

------
#### [ CloudFormation ]

この例では、CloudFormation テンプレート内のコンソールで使用できる **[Table Level]** (テーブルレベル) オプションを設定します。

```
"Configuration": "{
    \"Version\":1.0,
    \"Grouping\":{\"TableLevelConfiguration\":2}
}"
```

------