全般
Q: AWS Glue とはどのようなサービスですか?
AWS Glueは、分析、機械学習、アプリケーション開発のためのデータの検出、準備、結合を簡単に行える、サーバーレスデータ統合サービスです。 AWS Glue はデータ統合に必要なすべての機能を備えているため、数か月かかるところを数分でデータを分析し、使用可能にします。AWS Glue は、データ統合を容易にするために、視覚化インターフェイスとコードベースのインターフェイスの両方を備えています。ユーザーは AWS Glue Data Catalog を使用して、データを簡単に検出し、アクセスすることができます。データエンジニアと ETL (抽出、変換、読み込み) デベロッパーは、AWS Glue Studio で数回クリックすれば、ETL ワークフローを視覚的に作成、実行、監視できます。データアナリストとデータサイエンティストは、AWS Glue DataBrew を使用して、コードなしでデータを視覚的に強化、クリーンアップ、正規化できます。
Q: AWS Glue の使用を開始するにはどうしたらよいですか?
AWS Glue の使用を開始するには、AWS マネジメントコンソールにサインインして、[分析] カテゴリの [AWS Glue] をクリックしてください。AWS Glue のユースケースの一例を説明したガイド付きチュートリアルのいずれかに沿って実行できます。また、AWS ラボにある GitHub リポジトリには、ETL コードのサンプルがあります。
Q:AWS Glue を構成する主なコンポーネントには何がありますか?
AWS Glueは、中央のメタデータリポジトリであるデータカタログで構成されています。これらは Scala または Python コードを自動的に生成できる ETL エンジン、また、依存関係の解決、ジョブのモニタリング、および再試行を処理する柔軟なスケジューラ、データをビジュアルインターフェイスでクリーニング、正規化する AWS Glue DataBrew があります。このコンポーネントが連動することで、データの検出、分類、クリーニング、エンリッチ、移動に関連する、差別化につながらない面倒な作業の大部分が自動化されるため、お客様はデータの分析により多くの時間をかけることができます。
Q: AWS Glue を使用するとよいのはどのような場合ですか?
AWS Glue は、所有するデータに関するプロパティ検出、変換、分析準備のために使用できます。Glue では、Amazon S3 に構築されたデータレイク、Amazon Redshift 内のデータウェアハウス、AWS で実行されるさまざまなデータベースに保存された構造化データと半構造化データの両方を自動的に検出できます。Glue データカタログによるデータの統合ビューを利用でき、ETL のほか、Amazon Athena、Amazon EMR、Amazon Redshift Spectrum といったサービスを使用したクエリとレポートに利用できます。Glue では、ETL ジョブを実行する、Scala または Python のコードが自動生成されます。お客様は、使い慣れたツールを使用して、このコードをさらにカスタマイズできます。 AWS Glue DataBrew を使用して、コードなしでデータを視覚的にクリーンアップおよび正規化できます。
Q: AWS Glue でサポートされるのはどのようなデータソースですか?
Amazon Aurora、Amazon RDS for MySQL、Amazon RDS for Oracle、Amazon RDS for PostgreSQL、Amazon RDS for SQL Server、Amazon Redshift、DynamoDB、Amazon S3 に保存されたデータに加え、Amazon EC2 で実行されている Virtual Private Cloud (Amazon VPC) 内の MySQL、Oracle、Microsoft SQL Server、PostgreSQL などのデータベースが AWS Glue でネイティブでサポートされます。AWS Glue は、Amazon MSK、Amazon Kinesis Data Streams、Apache Kafka からのデータストリームもサポートしています。
Scala または Python のカスタムコードを作成し、AWS Glue ETL ジョブにカスタムライブラリと JAR ファイルをインポートすることで、AWS Glue でネイティブにサポートされていないデータソースにアクセスすることもできます。カスタムライブラリのインポートの詳細については、AWS のドキュメントをご覧ください。
Q: AWS Glue はどのようにAWS Lake Formationと関係していますか?
A: Lake Formation は コンソールコントロール、 ETL コード生成 およびジョブ監視、一般データカタログおよびサーバーのないアーキテクチャを含む、AWS Glue を用いた共有インフラストラクチャに力を加えます。AWS Glue はこれらの機能に焦点を当てていますが、Lake Formation はすべての AWS Glue 機能を包括して、データレイクの構築、保全および管理を助けるよう設計された追加能力を提供します。詳細は AWS Lake Formation ページ を参照してください。
AWS Glue データカタログ
Q: AWS Glue データカタログとは何ですか?
AWS Glue データカタログは、すべてのデータアセットの構造上および運用上のメタデータを保存する集中リポジトリです。あるデータセットについて、テーブルの定義や物理的な場所を保存し、ビジネスに関連する属性を追加することができ、このデータがこれまでどのように変更されたか追跡することもできます。
AWS Glue データカタログは Apache Hive メタストアと互換性があります。また、Amazon EMR で実行されているビッグデータアプリケーションの Apache Hive メタストアとは完全互換性があります。AWS Glue データカタログを Apache Hive メタストアとして使用するよう EMR クラスターを設定する方法の詳細については、こちらをクリックしてください。
また、AWS Glue データカタログは、特に設定を行わずに、Amazon Athena、Amazon EMR、Amazon Redshift Spectrum と統合できます。Glue データカタログに追加されたテーブル定義は ETL に利用できます。また、Amazon Athena、Amazon EMR、Amazon Redshift Spectrum でのクエリにも簡単に利用できるため、このようなサービスの間で共通のデータビューを設定できます。
Q: メタデータを AWS Glue データカタログに登録するにはどうしたらよいですか?
メタデータを AWS Glue データカタログに登録する方法はいくつかあります。お客様が所有しているさまざまなデータストアは Glue クローラーによってスキャンされ、スキーマとパーティション構造が自動的に推測され、Glue データカタログに対応するテーブル定義と統計情報が登録されます。基盤になるデータとメタデータが同期された最新の状態を保てるよう、クローラーの定期実行をスケジュールすることもできます。別の方法として、AWS Glue コンソールを使用するか API を呼び出して、テーブルの詳細情報の追加や更新を手動で実行することもできます。また、Hive DDL ステートメントを Amazon Athena コンソールや Amazon EMR クラスターの Hive クライアントから実行することもできます。最後に、永続的な Apache Hive メタストアが既に存在する場合は、AWS のインポート用スクリプトを使用して、メタデータを AWS Glue データカタログに一括インポートできます。
Q: AWS Glue クローラーとは何ですか?
AWS Glue クローラーはデータストアに接続すると、分類子の順位リストに従ってデータからスキーマやその他の情報を抽出し、得られたメタデータを Glue データカタログに入力します。クローラーは定期的に実行され、新しいデータの追加、既存データの変更、テーブル定義の変更が検知されます。クローラーにより、新しいテーブル、既存テーブルの新しいパーティション、テーブル定義の新しいバージョンが自動的に追加されます。Glue クローラーは、独自のファイル形式を分類できるようにカスタマイズできます。
Q: 既存の Apache Hive メタストアのデータを AWS Glue データカタログにインポートするにはどうしたらよいですか?
Apache Hive メタストアからデータを読み取って中間フォーマットで Amazon S3 にエクスポートし、そのデータを AWS Glue データカタログにインポートする ETL ジョブを実行します。
Q: メタデータを AWS Glue データカタログに保存している場合、Apache Hive メタストアも実行し続ける必要がありますか?
いいえ。AWS Glue データカタログは Apacher Hive メタストアと互換性があります。Glue データカタログのエンドポイントを指定して、Apache Hive メタストアの代替として使用できます。AWS Glue データカタログを Apache Hive メタストアとして使用するようクラスターを設定する方法の詳細については、こちらのドキュメントをご覧ください。
Q: Amazon Athena または Amazon Redshift Spectrum を既に使用していて、Amazon Athena の内部データカタログにテーブルが存在します。AWS Glue データカタログを共通のメタデータリポジトリとして使用するにはどうしたらよいですか?
AWS Glue データカタログを Amazon Athena、Amazon Redshift Spectrum、AWS Glue のメタデータの共通リポジトリとして使用する前に、Amazon Athena データカタログを AWS Glue データカタログにアップグレードする必要があります。アップグレードに必要なステップの詳細については、こちらをご覧ください。
Q: AWS Glue データカタログを使用する分析サービスは何ですか?
AWS Glue データカタログに保存されたメタデータは、Glue ETL、Amazon Athena、Amazon EMR、Amazon Redshift Spectrum、およびサードパーティーのサービスから簡単にアクセスできます。
AWS Glue スキーマレジストリ
Q: AWS Glue スキーマレジストリとは何ですか?
AWS Glue のサーバーレス機能である AWS Glue スキーマレジストリを使用すると、Apache Avro と JSON スキーマデータ形式で登録済みのスキーマを使用しながら、ストリーミングデータの発展過程を検証および制御できます。追加料金はかかりません。スキーマレジストリは、Apache ライセンスのシリアライザーとデシリアライザーを通じて、Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK)、Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache Flink、および AWS Lambda 用に開発された Java アプリケーションと統合されます。データストリーミングアプリケーションがスキーマレジストリと統合している場合、スキーマの進化を管理する互換性チェックを利用して、データ品質を向上し、予期しない変更から保護することができます。さらに、レジストリ内に保存されている Apache Avro スキーマを使用して、AWS Glue のテーブルおよびパーティションを作成または更新できます。
Q: AWS Glue スキーマレジストリを使用すべき理由はなぜですか?
AWS Glue スキーマレジストリを使うと、次のことができます:
- スキーマを検証する。データストリーミングアプリケーションがAWS Glue スキーマレジストリと統合されると、データ生成に使用されるスキーマが中央レジストリ内のスキーマに対して検証されます。それにより、データ品質を中央で制御できます。
- スキーマの進化を保護する。8 つの互換性モードの 1 つを使用して、スキーマがどのように進化するか、またはしないかの規則を設定することができます。
- データ品質を改善する。シリアライザーは、レジストリに格納されているスキーマにデータプロデューサーによって使用されるスキーマを検証し、データの発信時のデータ品質を向上させ、予期しないスキーマドリフトによるダウンストリームの問題を軽減します。
- こすとを節約する。シリアライザーはデータをバイナリ形式に変換し、送信前に圧縮できるため、データ転送とストレージのコストを削減できます。
- 処理の効率を高める。多くの場合、データストリームは異なるスキーマのレコードを含んでいます。スキーマレジストリにより、データストリームから読み取るアプリケーションは、その内容を解析することなく、スキーマに基づいて各レコードを選択的に処理できます。そのため、処理効率が向上します。
Q: AWS Glue スキーマレジストリではどのデータフォーマット、クライアント言語、インテグレーションがサポートされていますか?
スキーマレジストリは、Apache Avro と JSON Schema のデータフォーマットと Java クライアントアプリケーションをサポートしています。今後も、他のデータ形式や Java 以外のクライアントへの対応を進めていく予定です。スキーマレジストリは、Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK)、Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache Flink、および AWS Lambda 用に開発された Java アプリケーションと統合されます。
Q: AWS Glue Schema Registryはどのような種類の進化ルールをサポートしていますか?
スキーマの進化を管理するために、次の互換性モードを使用できます: 後方、すべての後方、前方、すべての前方、完全、すべての完全、なし、無効。互換性ルールについての詳細は、スキーマレジストリのユーザードキュメントをご覧ください。
Q: AWS Glueスキーマレジストリはどのようにしてアプリケーションの高可用性を維持しますか?
スキーマレジストリのストレージおよびコントロールプレーンは、高可用性のために設計されており、AWS Glue SLA により支えられています。シリアライザーとデシリアライザーは、ベストプラクティスのキャッシュ技術を活用して、クライアント内のスキーマの可用性を最大化します。
Q: AWS Glue スキーマレジストリはオープンソースですか?
AWS Glue スキーマレジストリストレージは、AWS のサービスです。シリアライザーとデシリアライザーは、Apache ライセンスのオープンソースコンポーネントです。
Q: AWS Glue Schema Registryは、保存時と転送中に暗号化を提供しますか?
はい。クライアントは、HTTPS 上の TLS 暗号化を使用して転送中のデータを暗号化する API 呼び出しを経由し、スキーマレジストリと通信できます。 スキーマレジストリに格納されているスキーマは、サービス管理のKMSキーを使用して、保存時に常に暗号化されます。
Q: AWS Glue スキーマレジストリにプライベートで接続するにはどうすればよいですか?
AWS PrivateLink を使用して、AWS Glue のインターフェース VPC エンドポイントを定義することでデータプロデューサーの VPC を AWS Glue に接続できます。VPC インターフェイスエンドポイントを使用する場合、VPC と AWS Glue の間の通信は、全面的にAWS ネットワーク内で行われます。詳細については、ユーザードキュメントを参照してください。
Q: AWS Glue スキーマレジストリの使用をモニターするにはどうすればよいですか?
AWS CloudWatch メトリクスがCloudWatch の無料利用枠の一部として使用できます。CloudWatch コンソールのこのメトリクスにアクセスできます。詳細は、AWS Glue スキーマレジストリユーザードキュメントをご覧ください。
Q: AWS Glueスキーマレジストリは、ユーザー認証を管理するためのツールを提供していますか?
はい。スキーマレジストリは、リソースレベルの権限とアイデンティティベースの IAM ポリシーの両方をサポートしています。
Q: 既存のスキーマレジストリから AWS Glue スキーマレジストリに移行するにはどうすればよいですか?
第三者スキーマレジストリから AWS Glue スキーマレジストリへの移行手順については、ユーザードキュメントをご覧ください。
抽出、変換、ロード (ETL)
AWS Glue にはビジュアル ETL 向けのノーコードインターフェイスはありますか?
はい。AWS Glue Studio には、Glue のジョブをオーサリングしてデータを処理するための、グラフィカルインターフェイスがあります。ビジュアルインターフェイスで、データソース、トランスフォーメーション、ターゲットのフローを定義すると、AWS Glue Studio がユーザーに代わって Apache Spark コードを生成します。
Q: AWS Glue の ETL コードを記述するのに、どのようなプログラミング言語を使用できますか?
Scala または Python のどちらかを使用できます。
Q: AWS Glue で生成された ETL コードをカスタマイズするにはどうしたらよいですか?
AWS Glue の ETL スクリプト推奨システムでは、Scala または Python のコードが生成されます。このコードでは、Glue のカスタム ETL ライブラリを活用することで、データソースへのアクセスとジョブ実行の管理が簡略化されます。このライブラリの詳細については、AWS のドキュメントをご覧ください。AWS Glue のカスタムライブラリを使用して ETL コードを作成する、または任意のコードを Scala または Python で記述するには、AWS Glue コンソールのスクリプトエディタでインライン編集する、自動生成コードをダウンロードする、お使いの IDE で編集する、といった方法があります。Github リポジトリで提供されている多数のサンプルのいずれかを出発点として、コードをカスタマイズすることもできます。
Q: カスタムライブラリを ETL スクリプトの一部としてインポートできますか?
はい。Python のカスタムライブラリと JAR ファイルを AWS Glue ETL ジョブにインポートできます。詳細については、こちらのドキュメントをご覧ください。
Q: 自作のコードを使用できますか?
はい。AWS Glue の ETL ライブラリを使用して自前のコードを生成するか、Scala または Python で自作のコードを記述して Glue ETL ジョブにアップロードできます。詳細については、こちらのドキュメントをご覧ください。
Q: 自分の IDE を使って ETL コードを開発するにはどうしたらよいですか?
お使いのメモ帳や IDE への接続方法となる開発エンドポイントを作成して、そこに接続できます。
Q: AWS Glue で複数のジョブを使用してエンドツーエンドの ETL ワークフローを構築するにはどうしたらよいですか?
AWS Glue には、ETL ライブラリとコード生成機能に加えて、堅牢なオーケストレーション機能のセットが用意されており、複数のジョブ間の依存関係を管理してエンドツーエンドの ETL ワークフローを構築できます。AWS Glue の ETL ジョブは、スケジュールとジョブ完了イベントのいずれかによってトリガーできます。ジョブ完了イベントによるトリガーを使用すれば、複数のジョブを並列または順列にトリガーできます。AWS Lambda 関数のような外部ソースから 1 つまたは複数の Glue ジョブをトリガーすることもできます。
Q: AWS Glue で依存関係はどのようにモニタリングされますか?
AWS Glue では、複数のジョブの管理や外部イベントの依存関係の管理にトリガーを使用します。トリガーにより、1 つまたは複数のジョブを監視することや、1 つまたは複数のジョブを呼び出すことができます。ジョブを定期的に呼び出すようスケジュールされたトリガー、オンデマンドのトリガー、ジョブ完了時のトリガーを使用できます。
Q: AWS Glue は ELT エラー をどのように処理しますか?
AWS Glue ではジョブイベントのメトリクスとエラーがモニタリングされ、すべての通知が Amazon CloudWatch にプッシュされます。Amazon CloudWatch を使うと、AWS Glue からの特定の通知に基づいてトリガーできるアクションのホストを設定できます。例えば、Glue からエラーや成功の通知を受信した時に、AWS Lambda 関数をトリガーできます。また、Glue では、デフォルトで再試行するよう設定されているため、障害発生時にはエラー通知を送信する前に 3 回再試行されます。
Q: 既存の ETL ジョブを AWS Glue で実行できますか?
はい。Scala または Python で記述された既存のコードを AWS Glue で実行できます。コードを Amazon S3 にアップロードし、そのコードを使用するジョブを作成してください。Amazon S3 にあるコードを指定することで、複数のジョブから同じコードを再利用できます。
Q: ETL ストリーミングデータに AWS Glue を使用するにはどうしたらよいですか?
AWS Glue は、Amazon Kinesis Data Streams、Apache Kafka、および Amazon MSK からのストリームで ETL をサポートします。ストリームを Glue データカタログに追加し、AWS Glue ジョブをセットアップするときにデータソースとして選択します。
Q: このサービスを使用する場合、AWS Glue データカタログと Glue ETL の両方を使用する必要がありますか?
いいえ。AWS Glue データカタログと ETL の両方を使用することでエンドツーエンドの ETL 操作を実現できますが、いずれか一方のみを独立して使用することもできます。
Q: AWS Glue Streaming と Amazon Kinesis Data Analytics はそれぞれどのような場合に使用しますか?
AWS Glue と Amazon Kinesis Data Analytics の両方を使用して、ストリーミングデータを処理できます。AWS Glue は、ユースケースが主に ETL であり、サーバーレスの Apache Spark ベースのプラットフォームでジョブを実行する場合に推奨されます。Amazon Kinesis Data Analytics は、ユースケースが主に分析であり、サーバーレスの Apache Flink ベースのプラットフォームでジョブを実行する場合に推奨されます。
AWS Glue のストリーミング ETL は、現在バッチジョブに使用しているものと同じサーバーレスの従量課金制プラットフォームを使用して、ストリーミングデータの高度な ETL を可能にします。AWS Glue は、転送中にデータを準備するためのカスタマイズ可能な ETL コードを生成し、半構造化または進化するスキーマを持つストリーミングデータを処理する組み込み機能を備えています。Glue を使用して、その組み込み変換と Spark ネイティブ変換の両方をデータストリームに適用し、データレイクまたはデータウェアハウスにロードします。
Amazon Kinesis Data Analytics を使用すると、ストリーミングデータをリアルタイムで分析する高度なストリーミングアプリケーションを構築できます。サーバーなしで自動的にスケーリングし、アプリケーションの状態を永続的に保存するサーバーレスの Apache Flink ランタイムを提供します。Amazon Kinesis Data Analytics を使用して、リアルタイム分析とより一般的なストリームデータ処理を行います。
Q: AWS Glue と Amazon Kinesis Data Firehose はそれぞれどのような場合に使用しますか?
AWS Glue と Amazon Kinesis Data Firehose の両方を ETL のストリーミングに使用できます。AWS Glue は、ストリームの結合や、データコンテンツに基づく Amazon S3 での出力のパーティショニングなど、複雑な ETL に推奨されます。Amazon Kinesis Data Firehose は、ユースケースがデータ配信に重点を置いており、配信後に処理するデータを準備する場合に推奨されます。
AWS Glue のストリーミング ETL は、現在バッチジョブに使用しているものと同じサーバーレスの従量課金制プラットフォームを使用して、ストリーミングデータの高度な ETL を可能にします。AWS Glue は、転送中にデータを準備するためのカスタマイズ可能な ETL コードを生成し、半構造化または進化するスキーマを持つストリーミングデータを処理する組み込み機能を備えています。Glue を使用してデータストリームに複雑な変換を適用し、他のストリームおよび永続的なデータストアからの情報でレコードを強化し、レコードをデータレイクまたはデータウェアハウスにロードします。
Amazon Kinesis Data Firehose のストリーミング ETL を使用すると、ストリーミングデータを簡単にキャプチャ、変換、配信できます。Amazon Kinesis Data Firehose は、AWS Lambda によるサーバーレスデータ変換や JSON から Parquet へのフォーマット変換などの ETL 機能を提供します。配信後のデータ処理を容易にするために設計された ETL 機能が含まれていますが、AWS Glue がサポートする高度な ETL 機能は含まれていません。
データの重複を排除する
Q: FindMatches ML 変換では、どのような問題が解決されますか?
一般に、FindMatches はレコード連携およびデータ重複排除の問題を解決します。重複排除は、概念的には「同一」であるが別々のレコードがあるデータベース内のレコードを識別するために必要です。重複したレコードを一意のキーで識別できる場合 (たとえば、製品を UPC コードで一意に識別できる場合) これはそこまで大きな問題ではありませんが、「あいまい一致」を行う必要がある場合は非常に大きな課題となります。
レコード連携は基本的にデータ重複排除と同じ問題ですが、この用語は通常、単一のデータベースを重複排除するのではなく、一意のキーを共有しない 2 つのデータベース間で「あいまい結合」を行っていることを意味します。例として、大規模な顧客データベースを既知の詐欺師の小規模データベースと照合する問題を考えてみましょう。FindMatches は、レコード連携と重複排除の両方に使用できます。
たとえば、AWS Glue の FindMatches ML 変換 は、以下のような問題を解決するのに役立ちます。
病院間で患者の記録をリンクさせることによって、医師が患者に対するより多くの背景情報を得ることができ、名前、誕生日、自宅住所、電話番号などの共通フィールドを持つ別々のデータベースで FindMatches を使用することで、患者に対するより良い治療を提供できる。
「タイトル」、「プロットの概要」、「リリースされた年」、「上映時間」、「出演者」などの列を含む映画のデータベースを重複排除する。たとえば、同じ映画でも「スターウォーズ」、「スターウォーズ: 新たなる希望」、「スターウォーズ: エピソード 4/新たなる希望 (スペシャルエディション)」といったさまざまな形で認識されることになります。
アパレル製品カタログでサイズや色の違いを無視して「同等」と定義することによって、店頭で同じようなアイテムをまとめた関連商品を自動グループ化する。この場合「Levi 501 ブルージーンズ、サイズ 34 x 34」は、「Levi 501 ジーンズ - 黒、サイズ 32 x 31」と同じであると定義されます。
Q: AWS Glue はどのようにしてデータを複製しますか?
AWS Glue の FindMatches ML 変換では、同じエンティティを参照していても信頼できる識別子を共有していないいくつかのレコードを簡単に見つけてリンクすることができます。FindMatches がリリースされる前は、デベロッパーは通常、手作業で調整した規則を大量に作成することによって、データマッチングの問題を決定論的に解決していました。FindMatches は、バックグラウンドで機械学習アルゴリズムを使用して、それぞれのデベロッパーのビジネス基準に従ってレコードを一致させる方法を学習します。まず、FindMatches はお客様がどのように一致を見極めてラベル付けしているかを記憶し、次に機械学習を使用して ML 変換を作成します。その後、お客様は自分のデータベースでこの変換を実行して一致するレコードを見つけるか、あるいは FindMatches にラベル付けするレコードを追加することによって ML 変換の精度を上げることができます。
Q: ML 変換とは何ですか?
ML 変換は、機械学習変換を作成および管理する目的地を提供します。作成およびトレーニングが完了すると、これらの ML 変換は標準の AWS Glue スクリプトで実行できます。お客様は特定のアルゴリズム (たとえば FindMatches ML 変換) を選択し、データセットとトレーニングの例、およびそのアルゴリズムに必要な調整パラメーターを入力します。AWS Glue はこれらの入力を使用して、通常の ETL ジョブワークフローに組み込み可能な ML 変換を構築します。
Q: ML 変換の仕組みを教えてください。
AWS Glue には特殊な ML ベースのデータセット変換アルゴリズムが含まれており、お客様はこれを独自の ML 変換を作成するために使用できます。これには、レコードの重複排除と一致の検出が含まれます。
お客様は、コンソールの [ML Transforms] タブに移動して (または ML 変換サービスエンドポイントを使用するか、CLI 経由で ML 変換トレーニングにアクセスして) 最初の ML 変換モデルを作成します。[ML Transforms] タブは、ユーザー変換を管理するための使いやすいビューを提供します。ML 変換には、個別のトレーニング、パラメータ調整、実行ワークフローの必要性、生成された変換の品質メトリクスを推定する必要性、トレーニングや積極的な学習のために追加の truth ラベルを管理し収集する必要性など、ほかの変換とは異なるワークフロー要件が必要です。
コンソールから ML 変換を作成するには、まず変換の種類 (レコード重複排除やレコードマッチングなど) を選択し、以前にデータカタログで検出された適切なデータソースを指定します。変換によっては、トレーニング用の Ground Truth ラベルデータや追加のパラメータの提供を求められる場合があります。お客様はトレーニングジョブのステータスをモニタリングし、各トランスフォームの品質メトリクスを確認できます。(品質メトリクスは、お客様が用意したラベルデータのホールドアウトセットを使用して報告されます)。
満足のいくパフォーマンスを得ることができたら、ML 変換モデルを昇格して本番環境で使用することができます。その他の AWS Glue ライブラリで提供されているビルド済みトランスフォームと同様に、ML 変換は、サービスによって自動生成されたコード、およびその他のジョブと共に送信されたユーザー定義スクリプトの両方で、ETL ワークフロー中に使用できます。
Q: AWS Glue (および AWS Lake Formation) を使用したレコードの照会、重複の排除に関するプレゼンテーションを視聴することはできますか?
A: はい。AWS オンライン Tech Talk「AWS Lake Formation のための機械学習変換によるファジーマッチングとデータの重複排除」の録画 (全編) をご覧ください。
AWS Glue DataBrew
Q: AWS Glue DataBrew とはどのようなサービスですか?
AWS Glue DataBrew は、データアナリストやデータサイエンティストがコードを記述せずにインタラクティブなポイントアンドクリックの視覚化インターフェイスでデータを簡単に準備できるようにする視覚化データ準備ツールです。Glue DataBrew を使用すれば、データレイク、データウェアハウス、Amazon S3、Amazon Redshift、Amazon Aurora、Amazon RDS などのデータベースから直接、テラバイト規模、さらにはペタバイト規模のデータを簡単に視覚化、クリーンアップ、正規化できます。AWS Glue DataBrew は本日より、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、欧州 (フランクフルト)、アジアパシフィック (シドニー)、およびアジアパシフィック (東京) の各リージョンでご利用いただけます。
Q: AWS Glue DataBrew を使用できる人は誰ですか?
AWS Glue DataBrew は、分析と機械学習のためにデータをクリーンアップして正規化する必要があるユーザーに向けて構築されています。データアナリストとデータサイエンティストが主なユーザーです。データアナリストの場合、職務の例としては、ビジネスインテリジェンスアナリスト、オペレーションアナリスト、マーケットインテリジェンスアナリスト、法務アナリスト、金融アナリスト、経済学者、計量アナリスト、会計士があります。データサイエンティストの場合、職務の例としては、材料科学者、生物分析科学者、科学研究者があります。
Q: AWS Glue DataBrew ではどのタイプの変換がサポートされていますか?
250 以上の組み込み変換から選択して、コードを記述せずにデータを結合、ピボット、および転置することができます。AWS Glue DataBrew は、異常、無効なデータ、誤って分類されたデータのフィルタリング、重複したデータの修正、標準日時へのデータ正規化、分析用の集計を生成するなどの変換も自動的に推奨します。単語を共通のベースワードまたはルートワードに変換するなどの複雑な変換の場合、Glue DataBrew は、自然言語処理 (NLP) などの高度な機械学習技術を使用する変換を提供します。複数の変換をグループ化してレシピとして保存し、レシピを新しい受信データに直接適用できます。
Q: AWS Glue DataBrew は、どのファイル形式をサポートしていますか?
入力データの場合、AWS Glue DataBrew は、コンマ区切り値 (.csv)、JSON とネストされた JSON、Apache Parquet とネストされた Apache Parquet、Excel シートなど、一般的に使用されるファイル形式をサポートします。出力データの場合、AWS Glue DataBrew は、コンマ区切り値 (.csv)、JSON、Apache Parquet、Apache Avro、Apache ORC、および XML をサポートします。
Q: AWS Glue DataBrew を無料で試すことはできますか?
はい。AWS 無料利用枠アカウントにサインアップしてから、AWS Glue DataBrew 管理コンソールにアクセスして、無料ですぐに開始できます。Glue DataBrew を初めて使用する場合、インタラクティブセッションを最初の 40 回分無料で利用できます。詳細については、AWS Glue 料金ページをご覧ください。
Q: AWS Glue DataBrew を使用するには、AWS Glue Data Catalog または AWS Lake Formation を使用する必要がありますか?
いいえ。AWS Glue Data Catalog または AWS Lake Formation を使わずに AWS Glue DataBrew を使用できます。ただし、AWS Glue Data Catalog または AWS Lake Formation のいずれかを使用している場合、DataBrew ユーザーは、一元化されたデータカタログから利用可能なデータセットを選択することができます。
Q: データに加えられたすべての変更記録を保持できますか?
はい。AWS Glue DataBrew 管理コンソールで、データに加えられたすべての変更を視覚的に追跡できます。視覚化ビューを使用すれば、データセット、プロジェクト、レシピ、およびその他すべての関連ジョブに加えられた変更と関係を簡単に追跡できます。さらに、Glue DataBrew は、すべてのアカウントアクティビティを AWS CloudTrail のログとして保持します。
AWS Glue Flex ジョブ
Q: Glue Flex とは?
AWS Glue Flex は、緊急ではないデータ統合ワークロード (本番前のジョブ、テスト、データロードなど) のコストを最大 35% 削減できる柔軟な実行ジョブクラスです。Glue には、スタンダードとフレキシブルの 2 つのジョブ実行クラスがあります。スタンダード実行クラスは、ジョブの高速起動と専用リソースを必要とする、時間に敏感なワークロードに最適です。フレキシブル実行クラスは、開始時刻と完了時刻が異なる可能性がある緊急でないジョブに適しています。AWS Glue Flex は、時間に左右されないワークロード (夜間のバッチ ETL ジョブ、週末のジョブ、1 回限りの一括データインジェストジョブなど) のコストを削減できます。
Q: AWS Glue のスタンダード実行クラスとフレキシブル実行クラスの違いは何ですか?
AWS Glue のスタンダード実行クラスとフレキシブル実行クラスには、異なる実行プロパティがあります。スタンダード実行クラスでは、ジョブはすぐに開始され、実行中に専用のリソースが割り当てられます。フレキシブル実行クラスのジョブは、ジョブの実行中に再利用できる AWS の非専用コンピューティングリソースで実行され、開始時間と完了時間はさまざまです。その結果、2 つの実行クラスは異なるワークロードに適しています。スタンダード実行クラスは、ジョブの高速起動と専用リソースを必要とする、時間に敏感なワークロードに最適です。フレキシブル実行クラスは低コストであり、開始時間と完了時間の差異が許容される緊急でないジョブに適しています。
Q: AWS Glue Flex のフレキシブル実行クラスのジョブを開始するにはどうすればよいですか?
フレキシブル実行クラスは、Glue Spark ジョブで使用できます。フレキシブル実行クラスを使用するには、実行クラスパラメータのデフォルト設定を「STANDARD」から「FLEX」に変更するだけです。これは、Glue Studio または CLI を介して行うことができます。詳細については、AWS Glue _ユーザードキュメント_ を参照してください。
Q: AWS Glue Flex のフレキシブル実行クラスに適さないデータ統合と ETL ワークロードのタイプは何ですか?
AWS Glue Flex の柔軟な実行クラスは、一貫したジョブの開始時間と実行時間を必要とする時間に敏感なワークロード、または特定の時間までに実行を完了する必要があるジョブには適していません。また、AWS Glue Flex は、中断される可能性が高く、頻繁にキャンセルされるため、長時間実行されるデータ統合ワークロードにはお勧めしません。
Q: AWS Glue Flex フレキシブル実行クラスで実行されているジョブが中断される頻度はどれくらいですか?
AWS Glue Flex の可用性と中断頻度は、リージョンとアベイラビリティゾーン (AZ)、時刻、曜日など、いくつかの要因によって異なります。リソースの可用性によって、Glue Flex ジョブが開始されるかどうかが決まります。ピーク時の中断率は 5 ~ 10% になる可能性がありますが、Glue Flex ジョブの中断率は約 5%、または中断による Glue Flex ジョブの失敗率は 5% 未満になると予想されます。
Q: フレキシブル実行クラスはいつでも利用できますか?
はい、柔軟な実行クラスをいつでも選択して、Glue ジョブを実行できます。ただし、AWS Glue がこれらのジョブを実行できるかどうかは、非専用の AWS キャパシティーの可用性と、ジョブ用に選択されたワーカーの数に基づいています。ピーク時には、Glue がジョブに十分なキャパシティーを持っていない可能性があります。その場合、ジョブは開始されません。Glue がジョブをキャンセルするまでのタイムアウト値を指定できます。タイムアウト値が長いほど、ジョブが実行される可能性が高くなります。
Q: AWS Glue Flex ジョブが実行中に中断された場合はどうなりますか?
指定されたワーカー数に基づいてジョブを完了するのに十分なワーカーがなくなったために Glue Flex ジョブが中断された場合、ジョブは失敗します。Glue は、ジョブをキャンセルする前に、ジョブ定義で指定された最大再試行回数まで、失敗したジョブを再試行します。他のシステムまたはプロセスにダウンストリームの依存関係があるジョブには、柔軟な実行クラスを使用しないでください。
Q: フレキシブル実行クラスでは、どのタイプの AWS Glue ジョブがサポートされていますか?
フレキシブル実行クラスは、Glue Spark ジョブのみをサポートします。Pythonshell とストリーミングはサポートされていません。AWS Glue Flex は Glue バージョン 3.0 以降でサポートされています。フレキシブル実行クラスは現在、ストリーミングワークロードをサポートしていません。
AWS 製品の統合
Q: AWS Glue とAWS Data Pipeline はどのように使い分けますか?
AWS Glue では、Apache Spark サーバーレス環境で運用されるマネージド型 ETL サービスが提供されています。お客様は ETL ジョブに集中でき、基盤となるコンピューティングリソースの設定や管理について心配する必要がありません。AWS Glue ではデータ優先のアプローチが採用されており、ビジネスインサイトを引き出すことができる形式にデータを変換するための、データのプロパティと操作に集中できます。データカタログが統合され、ETL に加えて Amazon Athena や Amazon Redshift Spectrum でのクエリにもメタデータを利用できるようになります。
AWS Data Pipeline はマネージド型のオーケストレーションサービスで、実行環境、コードを実行するコンピューティングリソースに対するアクセスと制御、およびデータ処理のコード自体について、より大きな柔軟性を備えています。AWS Data Pipeline ではお客様のアカウント内でコンピューティングリソースが起動され、Amazon EC2 インスタンスや Amazon EMR クラスターに直接アクセスできるようになります。
さらに、AWS Glue の ETL ジョブは、Scala または Python をベースとしています。Apache Spark 以外のエンジンの使用が必要なユースケースや、Hive や Pig などさまざまなエンジンで実行される複数の異種ジョブを実行する場合は、AWS Data Pipeline をお勧めします。
Q: AWS Glue とAmazon EMR はどのように使い分けますか?
AWS Glue は Apache Spark 環境で動作させることができ、データ変換ジョブのスケールアウト実行環境が提供されます。AWS Glue では ETL ジョブの推測、展開、モニタリングが行われ、ジョブの作成とメンテナンスのプロセスが大幅に簡略化されます。Amazon EMR では Hadoop 環境に直接アクセスでき、下位レベルへのアクセスや、Spark 以外のツールを使用できる柔軟性が向上します。
Q: AWS Glue と AWS Database Migration Service はどのように使い分けますか?
AWS Database Migration Service (DMS) によって、データベースを AWS に簡単かつ安全に移行できます。オンプレミスから AWS へのデータベース移行が必要なユースケースや、オンプレミスのソースと AWS のソースとの間でデータベースのレプリケーションが必要なユースケースでは、AWS DMS の使用をお勧めします。データが AWS に入ったら、AWS Glue を使用して、データソースから Amazon Redshift などの別のデータベースまたは データハウスに移動、組み合わせ、レプリケートできます。
Q: AWS Glue と AWS Batch はどのように使い分けますか?
AWS Batch では、ジョブの性質にかかわらず、AWS でバッチコンピューティングジョブを簡単かつ効率的に実行できます。AWS Batch では、AWS アカウント内でコンピューティングリソースの作成と管理が行われ、使用しているリソースを全面的に制御および把握できます。AWS Glue はフルマネージド型の ETL サービスで、ETL ジョブを実行するための Apache Spark サーバーレス環境が提供されます。ETL ユースケースでは、AWS Glue の使用を検討するようお勧めします。バッチ指向のその他のユースケースでは、一部の ETL ユースケースも含め、AWS Batch の方が適している場合があります。
料金と請求
Q: AWS Glue の料金はどのように請求されますか?
AWS Glue データカタログの無料利用枠の超過分について、AWS Glue データカタログ内でのメタデータの保存とアクセスに対するシンプルな月額料金が発生します。クローラーの実行に対して、時間料金が秒単位で課金されます。10 分間の分の最低料金が発生します。ETL コードの双方向開発用として開発エンドポイントを使用することにした場合、開発エンドポイントがプロビジョニングされた時間に対して、時間料金が秒単位で課金されます。これについても、10 分間の分の最低料金が発生します。さらに、選択したGlueバージョンに基づいて、時間料金を支払います。これは最短 1 分または最短 10 分のいずれかの ETL ジョブに対して、1 秒ごとに請求されます。詳細については、料金ページをご覧ください。
Q: AWS Glue ジョブの課金はいつ開始され、いつ終了しますか?
ジョブの実行がスケジュールされるとすぐに課金が始まり、ジョブ全体が終了するまで続きます。AWS Glue では、ジョブが実行された時間に対してのみ支払いが発生し、環境のプロビジョニングやシャットダウンの時間に対しては課金されません。
セキュリティと可用性
Q: AWS Glue でデータはどのように保護されますか?
保管中のデータではサーバー側暗号化、移動中のデータでは SSL を利用できます。
Q: AWS Glue に関連するサービスの上限はどのくらいですか?
サービスの上限の詳細については、AWS のドキュメントをご覧ください。
Q: AWS Glue を利用できるのはどのリージョンですか?
AWS Glue サービスのリージョン別の可用性の詳細については、AWS リージョン一覧表を参照してください。
Q: 開発エンドポイントには何個の DPU (データ処理ユニット) が割り当てられますか?
開発エンドポイントのプロビジョニング時には、デフォルトでは 5 個の DPU が割り当てられます。DPU 数が 2~5 個の開発エンドポイントを構成できます。
Q: AWS Glue の ETL ジョブのサイズとパフォーマンスをスケールするにはどうしたらよいですか?
ETL ジョブに割り当てる DPU (データ処理ユニット) の数を指定できます。Glue の ETL ジョブには最低で 2 個の DPU が必要です。AWS Glue のデフォルトでは、各 ETL ジョブに 10 個の DPU が割り当てられます。
Q: AWS Glue ジョブの実行をモニタリングするにはどうしたらよいですか?
AWS Glue では、各ジョブのステータスが提供され、すべての通知が Amazon CloudWatch にプッシュされます。CloudWatch アクションで SNS 通知を設定し、ジョブの失敗や完了を通知できます。
サービスレベルアグリーメント (SLA)
Q: AWS Glue の SLA は何を保証していますか?
AWS Glue SLA は、AWS Glue について毎月最低 99.9% の稼働率を保証しています。
Q: SLA サービスクレジットの資格を有しているかどうかは、どうすればわかりますか?
同じリージョン内でタスクを実行している複数のアベイラビリティーゾーンで、毎月の課金期間中の稼働率が 99.9% 未満なら、AWS Glue SLA 対象の AWS Glue に対する SLA クレジットの資格があります。
SLA の利用規約に関するすべての詳細、およびクレジット請求方法の詳細については、AWS Glue SLA の詳細ページを参照してください。