データターゲットは、変換されたデータがジョブにより書き込まれる場所です。
データターゲットでのオプションの概要
データターゲット (データシンクとも呼ばれます) は、次のようになります。
-
S3 – ジョブにより、選択した Amazon S3 の場所にある、指定した形式のファイルにデータが書き込まれます。
データターゲットにパーティション列を設定すると、ジョブによりパーティションキーに基づいて Amazon S3 へのデータセットがディレクトリに書き込まれます。
-
AWS Glue Data Catalog –データカタログ内のテーブルに関連付けられた情報を使用して、ジョブによりターゲットの場所に出力データが書き込まれます。
テーブルは、手動で、またはクローラーを使用して作成できます。また、AWS CloudFormation テンプレートを使用して、データカタログにテーブルを作成できます。
-
コネクタ – コネクタは、データストアと AWS Glue 間の通信を容易にするコードの一部です。コネクタや関連付けられた接続を使用して、ジョブにより出力データがターゲットの場所に書き込まれます。で提供されるコネクタをサブスクライブするには、AWS Marketplaceまたは、独自のカスタムコネクタを作成することもできます。詳細については、「AWS Glue Studio にコネクタを追加する」を参照してください。
ジョブにより Amazon S3 のデータターゲットに書き込みが行われる際、データカタログを更新するように選択できます。このオプションを使用すると、スキーマまたはパーティションの変更時に、クローラーをリクエストしなくてもデータカタログが更新されます。これにより、テーブルを最新の状態に保つことが容易になります。また、このオプションではデータカタログに新しいテーブルを追加したり、テーブルパーティションを更新したり、ジョブから直接テーブルのスキーマを更新できます。これにより、データを分析に使用できるようにするプロセスが簡略化されます。
データターゲットノードの編集
データターゲットは、変換されたデータがジョブにより書き込まれる場所です。
ジョブ図でデータターゲットノードを追加または設定するには
-
(オプション) ターゲットノードを追加する必要がある場合、ビジュアルエディタの上部のツールバーで [Target] (ターゲット) を選択し、その後 [S3] または [Glue Data Catalog] (Glue データカタログ) を選択します。
-
ターゲットに [S3] を選択した場合、ジョブにより指定した Amazon S3 の場所にある 1 つ以上のファイルにデータセットが書き込まれます。
-
ターゲットに [AWS Glue Data Catalog] を選択した場合、ジョブによりデータカタログから選択したテーブルによって記述された場所に書き込みが行われます。
-
-
ジョブ図でデータターゲットノードを選択します。ノードを選択すると、ページの右側にノードの詳細パネルが表示されます。
-
[Node properties] (ノードのプロパティ) タブを選択して、次の情報を入力します。
-
Name (名前): ジョブ図でノードに関連付ける名前を入力します。
-
Node type (ノードタイプ): 値は既に選択されていますが、必要に応じて変更できます。
-
Node parents (ノードの親): 親ノードは、ターゲットの場所に書き込む出力データを提供するジョブ図内のノードです。事前に設定されたジョブ図では、ターゲットノードで既に親ノードが選択されている必要があります。親ノードが表示されていない場合は、リストから親ノードを選択します。
ターゲットノードは、単一の親ノードを持ちます。
-
-
データターゲットのプロパティ情報を設定する 詳細については、次のセクションを参照してください。
(オプション) データターゲットノードのプロパティの設定後、ノードの詳細パネルの [Output schema] (出力スキーマ) タブを選択して、データの出力スキーマを表示できます。ジョブ内の任意のノードに対してこのタブを初めて選択すると、データにアクセスする IAM ロールを指定するよう求められます。[Job details] (ジョブの詳細) タブで IAM ロールをまだ指定していない場合、ここで IAM ロールを入力するよう求められます。
データターゲットに Amazon S3 を使用する
Amazon S3 とコネクタを除くすべてのデータソースでは、選択するソースタイプの AWS Glue Data Catalog にテーブルが存在する必要があります。AWS Glue Studio はデータカタログテーブルを生成しません。
Amazon S3 に書き込むデータターゲットノードを設定するには
-
新規または保存済みのジョブのビジュアルエディタに移動します。
-
ジョブ図でデータソースノードを選択します。
-
[Data source properties] (データソースのプロパティ) タブを選択して、次の情報を入力します。
-
Format (形式): リストから形式を選択します。データ結果に使用できる形式のタイプは次のとおりです。
-
JSON: JavaScript Object Notation。
-
CSV: カンマで区切られた値。
-
Avro: Apache Avro JSON バイナリ。
-
Parquet: Apache Parquet 列指向ストレージ。
-
Glue Parquet: データ形式として
DynamicFrames
用に最適化されたカスタム Parquet ライターのタイプ。データに対して事前に計算されたスキーマをリクエストしなくても、スキーマを動的に計算して変更します。 -
ORC: Apache Optimized Row Columnar (ORC) 形式。
これらの形式のオプションについての詳細は、AWS Glue デベロッパーガイドの「Format Options for ETL Inputs and Outputs in AWS Glue」を参照してください。
-
-
Compression Type (圧縮タイプ):
gzip
またはbzip2
の形式を使用して、任意でデータを圧縮するかどうかを選択できます。デフォルトでは圧縮なし、または [None] (なし) です。 -
S3 Target Location (S3 ターゲットの場所): Amazon S3 バケットおよびデータを出力する場所。[Browse S3] (S3 をブラウズ) ボタンをクリックして、アクセスできる Amazon S3 バケットを表示し、バケットの 1 つをターゲットの宛先として選択できます。
-
データカタログの更新オプション
-
Do not update the Data Catalog(データカタログを更新しない): (デフォルト) スキーマが変更されたり、新しいパーティションが追加された場合、ジョブでデータカタログを更新したくない場合は、このオプションを選択します。
-
Create a table in the Data Catalog and on subsequent runs, update the schema and add new partitions (データカタログにテーブルを作成し、それ以降の実行時にスキーマを更新して新しいパーティションを追加する): このオプションを選択すると、最初のジョブの実行時に、ジョブによりデータカタログにテーブルが作成されます。それ以降のジョブの実行時にスキーマが変更されたり、新しいパーティションが追加されたりすると、ジョブによりデータカタログテーブルが更新されます。
また、データカタログからデータベースを選択し、テーブル名を入力する必要があります。
-
[Create a table in the Data Catalog and on subsequent runs, keep existing schema and add new partitions] (データカタログでテーブル作成し、それ以降の実行時に既存のスキーマの保持して新しいパーティションを追加する): このオプションを選択すると、最初のジョブの実行時に、ジョブによりデータカタログにテーブルが作成されます。それ以降のジョブの実行時に、新しいパーティションを追加するため、ジョブでデータカタログテーブルが更新されます。
また、データカタログからデータベースを選択し、テーブル名を入力する必要があります。
-
Partition keys (パーティションキー): 出力でパーティションキーとして使用する列を選択します。さらにパーティションキーを追加するには、[Add a partition key] (パーティションキーの追加) を選択します。
-
-
データターゲットにデータカタログテーブルを使用する
Amazon S3 とコネクタを除くすべてのデータソースでは、選択するターゲットタイプの AWS Glue Data Catalog にテーブルが存在する必要があります。AWS Glue Studio はデータカタログテーブルを生成しません。
データカタログテーブルを使用するターゲットのデータプロパティを設定するには
-
新規または保存済みのジョブのビジュアルエディタに移動します。
-
ジョブ図でデータターゲットノードを選択します。
-
[Data target properties] (データターゲットのプロパティ) タブを選択して、次の情報を入力します。
-
Database (データベース): ターゲットとして使用するテーブルを含むデータベースをリストから選択します。このデータベースは、データカタログに既に存在している必要があります。
-
Table (テーブル): 出力データのスキーマを定義するテーブルをリストから選択します。このテーブルは、データカタログに既に存在している必要があります。
データカタログのテーブルは、列名、データ型の定義、パーティション情報、およびターゲットのデータセットに関するその他のメタデータで構成されています。ジョブにより、データカタログのこのテーブルで示されている場所に書き込みが行われます。
データカタログでのテーブルの作成についての詳細は、AWS Glue デベロッパーガイドの「Defining Tables in the Data Catalog」を参照してください。
-
データカタログの更新オプション
-
Do not change table definition (テーブルの定義を変更しない): (デフォルト) スキーマが変更されたり、新しいパーティションが追加された場合、ジョブでデータカタログを更新したくない場合は、このオプションを選択します。
-
[Update schema and add new partitions] (スキーマを更新して新しいパーティションを追加する): このオプションを選択すると、スキーマが変更されたり新しいパーティションが追加される際に、ジョブによりデータカタログテーブルが更新されます。
-
[Keep existing schema and add new partitions] (既存のスキーマを保持して新しいパーティションを追加する): このオプションを選択すると、ジョブにより データカタログテーブルが更新され、新しいパーティションが追加されます。
-
Partition keys (パーティションキー): 出力でパーティションキーとして使用する列を選択します。さらにパーティションキーを追加するには、[Add a partition key] (パーティションキーの追加) を選択します。
-
-
データターゲットにコネクタを使用する
ノードタイプにコネクタを選択する場合、カスタムコネクタを使用したジョブのオーサリング の説明に従って、データターゲットのプロパティ設定を完了します。