~~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}}