~~NOCACHE~~
## 1.基本情報
Aws Glueで主に利用するリソースについて基本情報を記載します。
### クローラ
AWS Glueの機能の一つで、データソースを定期的にチェックし、メタデータをデータカタログに登録/更新する機能です。
メタデータにはテーブル情報(プロパティ、スキーマ、Serde パラメータなど)が含まれます。
{{:Aws:Glue:pasted:20230418-224929.png?direct 600x0}}
### ジョブ
データソースからデータターゲットへETL(抽出、変換、書き出し)を行う機能です。※ETL:「抽出(Extract)」「変換(Transform)」「書き出し(Load)」
データソースからデータを抽出し、そのデータを変換してターゲット内にロードするためのスクリプトを実行します。
スクリプトはジョブ作成時に自動生成されますが、必要に応じてカスタマイズも可能です。
{{:Aws:Glue:pasted:20211022-114721.png?direct 800x0}}
^ ジョブタイプ ^ 概要 ^ 備考 ^
| Spark | 知識がついたら追記する。Kinesis or Kafka以外をデータソースとする際に選択? | |
| Spark Streamin | 知識がついたら追記する。Kinesis or Kafkaをデータソースとする際に選択? | |
| Python shell | 知識がついたら追記する。 | LambdaのPythonスクリプトのイメージですが、Lambdaと違いタイムアウト時間を任意に指定できる!! |
スクリプトの作成がビジュアルエディタで容易にできるよう[AWS Glue Studio]が準備されていています。
■ビジュアルエディタの選択
^ 項目 ^ 概要 ^ 備考 ^
| Visual with a source and target | データソース→トランスフォーム→データターゲットとジョブ構造を指定してスクリプトを作成します。 | UIからジョブ構造やテーブル構造等を操作可能 |
| Visual with a blank canvas | ライブラリのインポートなど、必要最低限の状態からスクリプトを作成します。 | UIからジョブ構造やテーブル構造等を操作可能 |
| Spark script editor | 独自のSparkコードを作成またはアップロードします。 | |
| Python Shell script editor | 独自のPythonシェルスクリプトを作成またはアップロードします。 | |
■AWS Glue StudioのUIイメージ
{{:Aws:Glue:pasted:20211022-170931.png?direct 800x0}}
### トリガー
クローラやジョブを開始するトリガーです。
^ トリガータイプ ^ 概要 ^ 備考 ^
| スケジュール | 時刻や周期をトリガーにします。簡単に言うとcron | |
| ジョブイベント | ジョブイベント(ジョブ/クローラ)の成功/失敗/停止/タイムアウトをトリガーにします。 | 対象のジョブを指定可能 |
| オンデマンド | 任意のタイミングで実行します。 | |
| EventBridge event | EventBridge eventをトリガーにします。 | |
{{:Aws:Glue:pasted:20211022-172907.png?direct 400x0}}
### ワークフロー
上記のクローラ、ジョブ、トリガーを組み合わせてETL処理フローを作成するツールです。
複雑なフローなど可視化できて効率よくワークフローを作成できます。
下図は画面イメージとこんなフローが作れますよといったサンプルになります。
{{:Aws:Glue:pasted:20211025-135728.png?direct 800x0}}
{{tag>AWS Glue}}