AWS Glue は、データの抽出、クリーンアップ、強化、正規化、ロードに使用できるサーバーレスのデータ準備サービスです。AWS Glue を使用すれば、分析と機械学習のためのデータの準備に費やされるコスト、複雑さ、および時間を大幅に削減できます。AWS Glue はサーバーレスなので、インフラストラクチャをセットアップして管理する必要がありません。ジョブの実行中に使用するリソースに対してのみ支払いが発生します。
統合されたデータカタログ
AWS Glue データカタログは永続的なメタデータストアで、保存される場所にかかわらずすべてのデータアセットに使用できます。データカタログにはテーブルの定義、ジョブの定義、スキーマ、および AWS Glue 環境の管理に役立つその他の制御情報が格納されます。統計情報の計算とパーティションの登録は自動的に実行され、データのクエリを効率的かつ費用対効果の高い方法で行うことができます。また、包括的なスキーマバージョン履歴が保持されるため、時間の経過とともにデータがどのように変化したかを把握できます。
スキーマの自動検出
AWS Glue では、クローラーがソースやターゲットのデータストアに接続され、分類子の優先順位付きリストによってデータのスキーマが判定された後、AWS Glue データカタログにメタデータが作成されます。メタデータはデータカタログのテーブルに保存され、ETL ジョブの作成プロセスで使用されます。クローラーはスケジュールによって実行することも、オンデマンドで実行することもできます。または、最新のメタデータが必要なイベント時にトリガーすることもできます。
ビジュアル ETL とコードの生成
AWS Glue Studio を使えば、Apache Spark の専門家にならなくても、高度にスケーラブルな ETL ジョブを分散処理向けにオーサリングできるようになります。ドラッグアンドドロップ型のジョブエディタで任意の ETL プロセスを定義すれば、AWS Glue がコードを自動的に生成してデータを抽出、変換、ロードします。このコードは、Scala または Python で生成され、Apache Spark 向けに記述されます。
データの重複を排除する
AWS Glue があれば、機械学習の専門家にならなくても、データを分析用にクリーニングし準備することができます。FindMatches 機能は、重複除去を行い、相互の対応が不完全なレコードを検出します。例えば、あるレコードで「121 Main St.」に「Joe's Pizza」をリストされ、別のレコードで「121 Main」に「Joseph's Pizzeria」が示されるといった場合に、FindMatches を使用してレストランのデータベースで重複レコードを検索します。FindMatches は、レコードのセットに「一致する」または「一致しない」のいずれかのラベルを付けるよう求めるだけです。その後、このシステムは、1 組のレコードを「一致」と見なす条件を学習し、データベース内の重複レコードまたは 2 つのデータベース間で一致するレコードの検索に使用できる ETL ジョブを構築します。
デベロッパーのエンドポイント
ETL コードを対話的に開発する場合は、生成されるコードの編集、デバッグ、テストを行うために、AWS Glue によって開発のエンドポイントが用意されます。お好みの IDE やメモ帳を使用できます。カスタムのリーダー、ライター、変換を作成し、カスタムライブラリとして AWS Glue ETL ジョブにインポートできます。AWS の GitHub リポジトリでは、他のデベロッパーのコードを使用することや、他のデベロッパーとコードを共有することが可能です。
柔軟なジョブスケジューラ
AWS Glue のジョブは、スケジュールベース、オンデマンド、イベントベースで呼び出すことができます。複数のジョブを並列で開始することも、ジョブ間の依存関係を指定して複雑な ETL パイプラインを構築することもできます。AWS Glue では、ジョブ間の依存関係すべての処理、不良データのフィルタリング、失敗したジョブの再試行は自動的に行われます。ログや通知はすべて Amazon CloudWatch にプッシュされるため、中央のサービスからモニタリングして、アラートを受信できます。
サーバーレスストリーミング ETL
AWS Glue のサーバーレスストリーミング ETL ジョブは、Amazon Kinesis や Amazon MSK などのストリーミングソースのデータを継続的に使用し、これを送信中にクリーニングおよび変換して、分析向けにターゲットのデータストアで数秒以内に使用できるようにします。この機能を使用して、IoT イベントストリーム、クリックストリーム、ネットワークログなどのイベントデータを処理します。AWS Glue ストリーミング ETL ジョブは、データを強化および集約し、バッチソースとストリーミングソースを結合し、さまざまな種類の複雑な分析および機械学習オペレーションを実行できます。
セルフサービスにおけるビジュアルデータの準備
AWS Glue DataBrew は、データアナリストやデータサイエンティストなどのユーザーがコードを記述せずにデータをクリーンアップおよび正規化するためのインタラクティブなポイントアンドクリックのビジュアルインターフェイスを提供します。データレイク、データウェアハウス、および Amazon S3、Amazon Redshift、Amazon Aurora、Amazon RDS などのデータベースから直接データを簡単に視覚化、クリーンアップ、正規化できます。250 以上の組み込み変換から選択して、データを結合、ピボット、転置し、保存された変換を新しい受信データに直接適用することでデータ準備タスクを自動化できます。