

# クローラーで複数のデータソースを使用する
<a name="schema-crawlers-data-sources"></a>

AWS Glue クローラが Amazon S3 をスキャンして複数のディレクトリを検出すると、ヒューリスティックを使用してテーブルのルートがディレクトリ構造内のどこにあり、どのディレクトリがテーブルのパーティションであるかを判断します。複数のディレクトリで同様のスキーマが検出されると、クローラは、これらを個別のテーブルではなくパーティションとみなす場合があります。クローラで個別のテーブルを検出しやすくするには、1 つの方法として各テーブルのルートディレクトリをクローラのデータストアとして追加します。

以下の Amazon S3 のパーティションは、その一例です。

```
s3://amzn-s3-demo-bucket/folder1/table1/partition1/file.txt
s3://amzn-s3-demo-bucket/folder1/table1/partition2/file.txt
s3://amzn-s3-demo-bucket/folder1/table1/partition3/file.txt
s3://amzn-s3-demo-bucket/folder1/table2/partition4/file.txt
s3://amzn-s3-demo-bucket/folder1/table2/partition5/file.txt
```

`table1` と `table2` のスキーマが類似し、AWS Glue のデータソースが `s3://amzn-s3-demo-bucket/folder1/` に対して 1 つのみ設定されている場合、クローラは 1 つのテーブルを 2 つのパーティション列で作成することがあります。1 つのパーティション列に `table1` と `table2` が入り、別のパーティション列に `partition1`〜`partition5` が入ります。

AWS Glue クローラで 2 つのテーブルを別個に作成するには、クローラに 2 つのデータソース (`s3://amzn-s3-demo-bucket/folder1/table1/` と `s3://amzn-s3-demo-bucket/folder1/table2`) を設定します。以下に手順を示します。

**AWS Glue で既存のクローラーに S3 データストアを追加するには**

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

1. ナビゲーションペインで、[**Crawlers (クローラ) **] を選択します。

1. クローラーへのリンクを選択してから、[**編集**] を選択します。

1. [**ステップ 2: データソースと分類子を選択する**] で、[**編集**] を選択します。

1. **[データソースとカタログ]** で、**[データソースを追加]** を選択します。

1. [**Add data source**] (データソースの追加) ダイアログボックスの [**S3 path**] (S3 パス) で、[**Browse**] (ブラウズ) を選択します。

1. 使用したいバケットを選択し、[**Choose**] (選択) を選択します。

   追加したデータソースは、[**Data sources** ] (データソース) リストに表示されます。

1. [**次へ**] を選択します。

1. [**Configure security settings**] (セキュリティ設定の構成) ページで、クローラーの IAM ロールを選択してから、[**Next**] (次へ) を選択します。

1. S3 パスの末尾がスラッシュで終わっていることを確認し、[**Add an S3 data source**] (S3 データソースの追加) を選択します。

1. [**Set output and scheduling**] (出力とスケジュールの設定) ページの、[**Output configuration**] (出力の設定) で、ターゲットデータベースを選択します。

1. [**次へ**] を選択します。

1. [**Review and update**] (確認と更新) ページで、選択した内容を確認します。ステップを編集するには、[**Edit**] (編集) を選択します。

1.  **[更新]** を選択します。