[AWS Certified DAS]Cheet Sheets

AWS Certified Data Analytics Specialty の勉強をメモした内容になります。
試験は合格しました。

出題されるサービス

  • S3
  • Amazon Athena
  • AWS Glue
  • Amazon QuickSight
  • Amazon Redshift
  • Amazon EMR
  • Amazon Kinesis
  • Amazon OpenSearch Service ( Amazon Elasticsearch Service )

公式ドキュメント

Analytics に関する過去のウェビナーがアーカイブされているので分からないサービスについては Youtube の倍速スピードで一通り見ること。
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/#analytics-services

S3

Amazon S3 Glacier にアーカイブされている csv データにクエリしたい場合

Amazon S3 Glacier Select を使う。Amazon S3 Glacier  Select は、非圧縮のコンマ区切り値( CSV )としてフォーマットである必要がある。Amazon S3 Glacier Select を使用してGZIP圧縮されたCSVファイルを直接クエリすることはできない。 ちなみに Amazon S3 Select は 、 CSV 、 JSON 、または ApacheParquet 形式で保存されたオブジェクトで機能する。

Amazon Elasticsearch Service

Amazon Elasticsearch Service は、簡単に AWS クラウド上に Elasticsearch と Kibana を提供する。

Amazon Kinesis

Amazon Kinesis Data Streams

Amazon Kinesis Data Streams は、大規模にスケーラブルで持続的なリアルタイムのデータストリーミングサービス。何十万ものソースから毎秒ギガバイトのデータを継続してキャプチャできる。収集データはミリ秒で入手でき、リアルタイム分析をリアルタイムダッシュボードやリアルタイム異常検知、ダイナミックな価格設定などの事例に利用可能。

拡張ファンアウト (Enhanced fan-out)

コンシューマーとシャード間に論理的な 2 MB/秒スループットパイプを提供する Kinesis Data Streams コンシューマーのオプション機能。普通に複数のコンシューマーを設計すると、Kinesis Data Streams の性能制限を超えてしまう場合や、200ms以下のデータ提供速度を求める場合に利用する。

  • コンシューマーはまず、コンシューマー自体を Kinesis Data Streams サービスに登録する必要がある。
  • 拡張ファンアウトを使用するコンシューマーは、ストリームからデータを受信する他のコンシューマーと競合することはない。
  • KCL を使用している場合、KCL version 2.x はコンシューマーの登録を自動で行う。
  • 登録されると、すべての登録されたコンシューマーはプロビジョニングされた独自の論理的な拡張ファンアウトスループットを持つようになる。
  • 次に、コンシューマーは HTTP/2 SubscribeToShard API を使用して、そのスループットパイプ内のデータを取得する。

コンシューマー(データ処理側)

Kinesis Firehose、 Kinesis Client Library (on EC2)、 Kinesis Analytics、 Lambda、 EMR、 Apache Storm。

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose は、ストリーミングデータをデータレイクやデータストア、分析ツール( Elasticsearch や Logstash、 Kibana、 EMR )に確実にロードする最も簡単な方法。完全マネージド型サービスのため、データスループットに応じて自動的にスケールされ、継続的な管理は不要。ロードの途中で Lambda と連携し、レコードを変換する事も可能。

提供されている送信先

Kinesis Data Firehose で現在サポートされている送信先は、Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Splunk、Datadog、New Relic、Dynatrace、Sumologic、LogicMonitor、MongoDB、HTTP エンドポイント。

Kinesis Data Firehoseは、Datadog、MongoDB、NewRelicなどのサポートされているサードパーティサービスプロバイダーが所有するカスタムHTTPエンドポイントまたはHTTPエンドポイントもサポートしている。

Amazon Kinesis Data Streams と Amazon Kinesis Data Firehose の違い

大量のデータを素早くコンシューマーに送りたいときは、Data Streams、大量のデータを分析ツールに確実に送りたいときは Firehose 。

Kinesis Data Analytics

Kinesis Data Analytics は、ストリーミングデータをリアルタイムで分析するための簡単で使い慣れた標準SQL言語を提供する。

ウィンドウクエリ

アプリケーションコードの SQL クエリはアプリケーション内ストリームに対して連続で実行される。アプリケーション内ストリームとは、アプリケーション内を常時流れる未バインドのデータのことある。したがって、常時更新されているこの入力から結果セットを得るために、時間と行の条件で定義されるウィンドウを使用してクエリをバインドする場合が多い。これらはウィンドウ SQL とも呼ばれる。

アプリケーションの必要に応じて、タンブリングウィンドウ、スライディングウィンドウ、また Stagger ウィンドウ方式でレコードを処理するクエリを指定することができる。

Stagger Windows

データが届くと開く、キー付けされた時間ベースのウィンドウを使用してデータを集計するクエリ。一貫性のない時間に到着するデータのグループを分析するのに適している。キーによって、複数の重なり合うウィンドウが可能になる。タンブリングウィンドウと比較すると、Stagger Windows は遅延データまたは順序通りでないデータを削減するため、これは、時間ベースのウィンドウを使用してデータを集約する方法として推奨さる。

タンブリングウィンドウ

定期的に開閉する、個別の時間ベースのウィンドウを使用してデータを集計するクエリ。

スライディングウィンドウ

固定時間または rowcount 間隔を使用して、データを継続的に集計するクエリ。

提供されている送信先

Amazon Kinesis Data Analytics は、宛先として DynamoDB を直接サポートしていない。出力として、Amazon Kinesis Data Firehose、AWS Lambda、および Amazon Kinesis DataStreams のみをサポートしている。 Kinesis Data Firehose を使用して、出力データを Amazon S3、Amazon Redshift、Amazon Elasticsearch Service、および Splunk に移動できる。

Amazon EMR

AW​​SでApacheHadoopやApacheSparkなどのビッグデータフレームワークを実行して大量のデータを処理および分析することを簡素化するマネージドクラスタープラットフォーム。

HDFS(Hadoop Distributed File System)

Apache Hadoop 向けの分散ファイルシステム。 HDFS クラスタ( HDFS を構成するコンピュータによるクラスタ)では、ファイルを一定サイズのブロック(デフォルトは 64MB )に分割して複数のコンピュータ上のディスクに格納することで、大量のデータを処理する際のスループットを向上させる。

S3DistCp

Amazon S3 で動作するように最適化された DistCp の拡張。 S3DistCp をジョブフローのステップとして追加することで、Amazon S3 から HDFS に大量のデータを効率的にコピーできる。

Amazon OpenSearch Service ( Amazon Elasticsearch Service )

Amazon QuickSight

データセットの作成、1回限りの分析の実行、視覚化とダッシュボードの構築に使用できる分析サービス。 QuickSight のエンタープライズ版では、複数のダッシュボードを使用でき、各ダッシュボードは複数のデータセットに基づいて複数の視覚化を使用できる。

ML Insights

ML Insights は、AWS の実績ある機械学習 (ML) と自然言語 (NL) 機能を利用して、お客様がデータからより深いインサイトを取得する手助けをします。これらのパワフルですぐに使用できる機能によって、技術的な専門知識や ML の使用経験がなくても、誰でも簡単に隠れたトレンドや異常値を発見し、主なビジネス要因を特定し、強力な仮説分析と予測が実行できるようになります。ML Insights は、QuickSight Enterprise Edition の一部として利用可能です。

https://aws.amazon.com/jp/quicksight/features-ml/

Amazon QuickSight が S3 にアクセスることを承認する

Amazon QuickSight コンソールに移動し、 [Manage QuickSight]-> [Security&permissions] をクリックして、 Amazon QuickSight からアクセスする S3 バケットを見つけアクセス許可設定をする。

AWS Glue

AWS Glue は、フルマネージド ETL (抽出、変換、および読み込み)サービス。データを分類、クリーンアップ、強化し、さまざまなデータストア間で確実に移動できます。 AWS Glue クローラーは、データセットからデータベースとテーブルスキーマを自動的に推測し、関連するメタデータを AWS Glue データカタログに保存する。また、 AWS Glue は、さまざまな AWS リージョンのデータをクロールできる

Scala での AWS Glue ETL スクリプトのプログラミング

AWS Glue では、抽出、変換、ロード (ETL) ジョブを実行する PySpark Scala 言語のスクリプトのために、拡張機能がサポートされている。

Glue で扱えるもの

Apache Spark、Spark Streaming、または Python シェルスクリプト。
逆に ApacheHive は直接扱えない。

ジョブブックマーク

AWS Glueは、ジョブ実行からの状態情報を永続化することにより、ETLジョブの前回の実行中にすでに処理されたデータを追跡する。この永続化された状態情報は、ジョブブックマークと呼ばれ、ジョブブックマークは、AWS Glueが状態情報を維持し、古いデータの再処理を防ぐのに役立つ。ジョブブックマークを使用すると、スケジュールされた間隔で再実行するときに新しいデータを処理できる。

Amazon Redshift

クラウド内のフルマネージドのペタバイト規模のデータウェアハウスサービス。わずか数百ギガバイトのデータから始めて、ペタバイト以上に拡張可能。PostgreSQL をデータウェアハウス用に改良したもの。

分散スタイル

テーブルを作成する場合は、AUTO、EVEN、KEY、または ALL という 4 つの分散スタイルのいずれかを指定する。

分散スタイルを指定しない場合、Amazon Redshift は AUTO 分散を使用する。

AUTO 分散

AUTO 分散では、Amazon Redshift はテーブルデータのサイズに基づいて最適な分散スタイルを割り当てる。

EVEN 分散

リーダーノードは、特定の列の値に含まれている値にかかわらず、ラウンドロビン方式によって複数のスライス間で行を分散させる。頻繁に変更されるデータテーブルに適している。

キー分散

行の分散は、特定の列に含まれている値に従って行われ、リーダーノードは、複数の一致する値を同じノードスライスに配置する。結合キーに基づいてテーブルのペアを分散する場合、リーダーノードは、結合列に含まれている値に従って行をスライスにコロケーションする。

ALL 分散

テーブル全体のコピーがすべてのノードに分散される。頻繁に更新されない、マスターテーブルなどに適している。

Elastic Resize

これまでのリサイズ方法 Classic resize ではクラスター自体の再作成行いノードの増減させる方法。元のクラスタ内のテーブルが新しいクラスタに複製され、操作が完了するまで元のクラスタは読み取り専用モードで稼働する。 Classic resize のサイズ変更には、データのサイズにもよるが、2時間から2日以上かかる。

一方、 Elastic Resize は、既存のクラスターにノードを追加する処理となるためノードの変更にかかる時間を大幅に短縮できる。ノードタイプ、ノード数、またはその両方を変更できる。ノードの数のみを変更した場合、クエリは一時的に一時停止され、可能であれば接続は開いたままになる。サイズ変更操作中、クラスターは読み取り専用となる。通常、エラスティックサイズ変更には10〜15分かかる。

テーブル設計

DWH(データウェアハウス)では一般的に『スタースキーマ』でテーブル設計を行うのが良いとされている。これは、中央に『ファクトテーブル』(分析の中心となるデータ)、ファクトテーブルを囲む形で『ディメンションテーブル』(ファクトテーブルの項目に対する、説明的な詳細属性情報を含むテーブル)で構成される形となる。
( 引用: 『Amazon Redshift チュートリアル: テーブル設計チューニング』を実践してみた )

ワークロード管理(WLM)

Amazon Redshift ワークロード管理( WLM )を使用すると、ユーザーはワークロード内の優先順位を柔軟に管理できるため、実行時間の短いクエリが実行時間の長いクエリの背後にあるキューでスタックすることはなくなる。ワークロード管理( WLM )を使用して、複数のクエリキューを定義し、実行時にクエリを適切なキューにルーティングができる。

ファイルフォーマット

分析基盤で利用されるフォーマットは以下の通り。この中でも、データベース用途に向いているフォーマッは、行指向フォーマットと列指向フォーマット。

  • テキストフォーマット(例:CSV、JSON)
  • 行指向フォーマット(例:AVRO)
  • 列指向フォーマット(例:Parquet、ORC)

特にその中でも、DWH用途での利用を行うようになって、注目されるようになったのが列指向フォーマット。列指向フォーマットは、列方向に連続してデータを格納する方式で、列単位でデータを取り出す分析用途に向いている。
( 引用元 : カラムナフォーマットのきほん 〜データウェアハウスを支える技術〜 )

AWS Lake Formation

AWS Lake Formation は、安全なデータレイクを数日で簡単にセットアップできるサービス。

ブループリント

ブループリント とは、データをデータレイクに簡単に取り込むことができるデータ管理テンプレート。Lake Formation は、リレーショナルデータベースや AWS CloudTrail ログなど、予め定義されたソースタイプごとにいくつかのブループリントを提供している。ブループリントから、ワークフローを作成可能。ワークフローは、AWS Glue クローラー、ジョブ、およびデータのロードと更新を調整するトリガーで構成されている。ブループリントは、データソース、データターゲット、およびスケジュールを入力として取り、ワークフローを設定する。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA