助け合いフォーラム

AWS

AWS ソリューションアーキテクト - アソシエイト(SAA-C03)
問題ID : 30629
問題を開く
AWS Glueについて正しく述べているものはどれか。2つ選べ。

正解

クローラーはデータソースからデータの抽出を行い、データカタログを作成する

データカタログはAmazon AthenaやAmazon EMRなどから参照できる

解説

AWS Glueは、フルマネージドのサーバーレスETLサービスです。
Glue(糊)の名の示す通り、複数のデータソース(S3やDynamoDBなど)からデータを抽出し、変換・統合したデータをターゲット(Redshiftなど)へ格納するといった、データ分析における橋渡しの役割を担います。


「クローラー」は、データソースからデータを抽出し、「データカタログ」を作成します。
データカタログとは、抽出したデータのメタデータ(データの属性情報)が保存されたものです。データそのものではなく、データソースのどのデータをどのような方法で抽出するかなどの情報が保存されています。
作成したデータカタログを基に、ETLエンジンがデータソースからデータを抽出し、ターゲットへ書き出す処理を行います。このデータの変換およびターゲットへ書き出す処理を「ジョブ」と呼びます。変換処理は、既存のETLツールであるApache SparkやScalaを用いて自動生成したり、生成されたスクリプトを自分で編集することができます。

なお、Glueで作成したデータカタログは、Amazon EMR※やAmazon Athena※などの分析・クエリ実行サービスなどからも参照できます。Glueのクローラーで抽出したデータに対してAthenaでSQLクエリを実行する、といった利用もできます。
※Amazon EMR … ビッグデータの処理や分析を行うサービス。
※Amazon Athena … S3内のデータに対して直接SQLクエリを実行できるサービス。

以上より正解は
・クローラーはデータソースからデータの抽出を行い、データカタログを作成する
・データカタログはAmazon AthenaやAmazon EMRなどから参照できる
です。

その他の選択肢については以下の通りです。

・データの出力先には、Redshift、S3、Kinesisを利用できる
データの出力先(ターゲット)には、Redshift、S3、オンプレミスのデータベースなどが選択できます。Kinesisには対応していませんので誤りです。
Kinesisは、Glueのデータソースとして利用可能なサービスです。

・データの抽出先および出力先としてオンプレミスのデータベースは利用できない
データの抽出先(データソース)および出力先(ターゲット)にオンプレミスのデータベースを選択できます。したがって、誤りです。
なお、厳密にはJDBC(Java Database Connectivity)という標準的なインタフェースに対応しているデータベースが対象になります。

・ストリーミングデータを標準的なSQLクエリで分析する
Glueでは、SQLクエリの実行やデータの分析は行いませんので誤りです。
ETLツールは、膨大な量のデータを抽出・変換し、分析に活用できるような形式でデータを生成する役割を担うツールです。

参考

【データ分析とETL】
データ分析を行う上で「ETL」は重要な要素です。
ETLとは、データのExtract(抽出)・Transform(変換)・Load(書き出し)を意味する用語で、様々なデータソースを基に、データを統合してデータウェアハウス(DWH)※へ格納する一連のプロセスのことをいいます。


※データウェアハウス(DWH:Data WareHouse)... 複数のシステムからデータを収集・統合・蓄積し、分析に使用するデータベースです。蓄積したデータは、例えば時系列や顧客のデータに基づいて分析され、結果はシステム効率化や経営改善などの意思決定に利用されます。AWSの代表的なDWHサービスには、Amazon Redshiftがあります。

AWSには、代表的なETLツールとして「AWS Glue」「AWS Data Pipeline」があります。

【AWS Glue】
AWS Glueは、フルマネージドのサーバーレスETLサービスです。
Glue(糊)の名の示す通り、複数のデータソース(S3やDynamoDBなど)からデータを抽出し、変換・統合したデータをターゲット(Redshiftなど)へ格納するといった、データ分析における橋渡しの役割を担います。


「クローラー」は、データソースからデータを抽出し、「データカタログ」を作成します。
データカタログとは、抽出したデータのメタデータ(データの属性情報)が保存されたものです。データそのものではなく、データソースのどのデータをどのような方法で抽出するかなどの情報が保存されています。
作成したデータカタログを基に、ETLエンジンがデータソースからデータを抽出し、ターゲットへ書き出す処理を行います。このデータの変換およびターゲットへ書き出す処理を「ジョブ」と呼びます。変換処理は、既存のETLツールであるApache SparkやScalaを用いて自動生成したり、生成されたスクリプトを自分で編集することができます。

なお、Glueで作成したデータカタログは、Amazon EMR※やAmazon Athena※などの分析・クエリ実行サービスなどからも参照できます。Glueのクローラーで抽出したデータに対してAthenaでSQLクエリを実行する、といった利用もできます。
※Amazon EMR … ビッグデータの処理や分析を行うサービス。
※Amazon Athena … S3内のデータに対して直接SQLクエリを実行できるサービス。

【AWS Data Pipeline】
AWS Data Pipelineは、データの移動や変換を自動化するサービスです。例えば、Amazon S3からDynamoDBへデータを取り込んだり、RDSからRedshiftへのデータコピーなどを毎週日曜に行う、といった運用ができます。
S3やRDS、Redshiftなど、データの型が異なるストレージまたはデータベースであっても、変換および移行を行います。
以下は、Data Pipelineでパイプラインを作成する際のマネジメントコンソールの画面です。


Glueはサーバーレスなサービスですが、Data Pipelineは処理の実行時にEC2インスタンスが起動されます。
また、Glueはデータ変換処理のベースにApache SparkやScalaを用いていますから、これらを利用したい場合はGlueを、そうでない場合にはData Pipelineを検討するといった使い分けができます。
上に戻る

ストリーミングジョブ

投稿日 2023/05/19
2023/05/19 20:11

https://docs.aws.amazon.com/ja_jp/glue/latest/dg/add-job-streaming.html
のページにはKinesis から入力できる(Kinesis がソースになる)ことは書かれていますが、Kinesis へ出力できるとはどこにも書かれていないようです。


コメント

k koyakei

2023/05/23 22:58

そうでした。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?