

# ストリーミングデータソースの使用
<a name="edit-jobs-source-streaming"></a>

Amazon Kinesis Data Streams、Apache Kafka、および Amazon Managed Streaming for Apache Kafka (Amazon MSK) で、ストーミングからのデータを消費し、連続的に実行されるストリーミング抽出、変換、ロード (ETL) ジョブを作成できます。

**ストリーミングデータソースのプロパティを設定するには**

1. 新規または保存済みのジョブのビジュアルグラフエディタに移動します。

1. Kafka または Kinesis Data Streams のグラフでデータソースノードを選択します。

1. [**Data source properties**] (データソースのプロパティ) タブを選択して、次の情報を入力します。

------
#### [ Kinesis ]
   + **Kinesis source type**: ストリームの詳細への直接のアクセスを使うためにオプションの[**Stream details**]を選択するか、、そこに格納されている情報を使用するために[**Data Catalog table**] (データカタログテーブル) を選択します。

     [**Stream details**]を選択すると、以下の追加情報を指定します。
     + **Location of data stream**：ストリームを現在のユーザーに関連付けるかどうか、または別のユーザーに関連付けるかどうかを選択します。
     + **Region**: ストリームが存在する[AWS リージョン] を選択します。この情報は、データストリームにアクセスするための ARN を構築するために使用されます。
     + **Stream ARN**: Kinesis Data Streams の Amazon リソースネーム (ARN)を入力します。ストリームが現在のアカウント内にある場合は、ドロップダウンリストからストリーム名を選択します。検索フィールドを使用して、名前、あるいは ARN でデータベースを検索できます。
     + **Data format**: リストから、データストリームで使用される形式を選択します。

       AWS Glue は、ストリーミングデータからスキーマを自動的に検出します。

     [**Data Catalog table**] (データカタログテーブル) を選択すると、以下の追加情報を指定します。
     + **Database** : (オプション) ストリーミングデータソースに関連付けられたテーブルを含む AWS Glueデータカタログ内のデータベースを選択します。検索フィールドを使用して、名前でデータベースを検索できます。
     + **Table** (テーブル): (オプション) ソースデータに関連付けられたテーブルをリストから選択します。このテーブルは、AWS Glue のデータカタログに既に存在している必要があります。検索フィールドを使用して、名前でテーブルを検索できます。
     + **Detect schema**: このオプションを選択すると、スキーマの情報がデータカタログテーブルに格納されるのではなく、AWS Glue にストリーミングデータからスキーマを検出させます。[**Stream details**] オプションを選択すると、このオプションは自動的に有効になります。
   + **Starting position**: デフォルトでは、ETL ジョブは[**Earliest**]オプションを使います。これは、ストリーム内の使用可能な最も古いレコードから始まるデータを読み取ることを意味します。代わりに[**Latest**]選択することができます。これは、ETL ジョブがストリーム内の最新のレコードの直後から読み出しを開始する必要があることを示します。
   + **Window size** (ウィンドウサイズ): デフォルトでは、ETL ジョブによるデータ処理と書き出しは 100 秒ウィンドウ単位で行われます。これにより、データを効率的に処理しつつ、想定より遅く到着するデータに対して集計を実行できます。ウィンドウサイズを変更することで、適時性や集計の精度を高めることができます。

     AWS Glue ストリーミングジョブでは、読み込んだデータの追跡には、ジョブのブックマークではなくチェックポイントが使用されます。
   + **Connection options** : 追加の接続オプションを指定するために、このセクションを展開してキーバリューペアを追加します。ここで指定できるオプションの詳細については、[*AWS Glue Developer Guide*]中の 「"["connectionType": "kinesis"](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-kinesis)」を参照してください。

------
#### [ Kafka ]
   + **Apache Kafka source**: オプションの[**Stream details** ]を選択し、ストリームの詳細ストリーミングソースへの直接アクセスを使用するか、[**Data Catalog table**] を選択して代わりに、そこに格納されている情報を使用します。

     [**Data Catalog table**] を選択すると、以下の追加情報を指定します。
     + **Database** : (オプション) ストリーミングデータソースに関連付けられたテーブルを含む AWS Glueデータカタログ内のデータベースを選択します。検索フィールドを使用して、名前でデータベースを検索できます。
     + **Table** (テーブル): (オプション) ソースデータに関連付けられたテーブルをリストから選択します。このテーブルは、AWS Glue のデータカタログに既に存在している必要があります。検索フィールドを使用して、名前でテーブルを検索できます。
     + **Detect schema** : このオプションを選択し、スキーマの情報がデータカタログテーブルに格納されるのではなく、ストリーミングデータからスキーマを AWS Glue に検出させます。**Stream details** オプションを選択すると、このオプションは自動的に有効になります。

     **Stream details**を選択すると、以下の追加情報を指定します。
     + **Connection name**: Kafka データストリームのためのアクセス情報と認証情報を含む AWS Glue の接続を選択します。Kafka ストリーミングデータソースとの接続を使用する必要があります。接続が存在しない場合は、AWS Glue のコンソールを使用して Kafka データストリームのための接続を作成します。
     + **Topic name**: 読み取り元のトピック名を入力します。
     + **Data format**：Kafka イベントストリームからデータを読み取るときに使用する形式を選択します。
   + **Starting position**: デフォルトでは、ETL ジョブは[**Earliest**] オプションを使用します。これは、ストリーム内の使用可能な最も古いレコードから始まるデータを読み取ることを意味します。代わりに[**Latest**]選択することができます。これは、ETL ジョブがストリーム内の最新のレコードの直後から読み出しを開始する必要があることを示します。
   + **Window size** (ウィンドウサイズ): デフォルトでは、ETL ジョブによるデータ処理と書き出しは 100 秒ウィンドウ単位で行われます。これにより、データを効率的に処理しつつ、想定より遅く到着するデータに対して集計を実行できます。ウィンドウサイズを変更することで、適時性や集計の精度を高めることができます。

     AWS Glue ストリーミングジョブでは、読み込んだデータの追跡には、ジョブのブックマークではなくチェックポイントが使用されます。
   + **Connection options** : 追加の接続オプションを指定するために、このセクションを展開してキーバリューペアを追加します ここで指定できるオプションの詳細については、 [*AWS Glue Developer Guide*]内の「["connectionType": "kafka"](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-kafka)」を参照してください。

------

**注記**  
現在、ストリーミングデータソースでのデータのプレビューはサポートされていません。