AWSサービスの機能を調べる(Analytics)

皆さんは、AWSクラウドが持つ機能を調べるとき、どうしていますか?

また、使おうと考えているサービスの仕様をどのように調べていますか?

私はこのところ、AWSサービスの機能のホントのところを確認するために、AWS公式ホームページの「AWSサービス別資料」で確認を取っています。
(資料には、SlideShare 、PDF 、Youtube があります)

ちまたのインターネットでの技術ネタを調べることも過去多かったのですが、情報の鮮度もありますし、やっぱり本家の情報がしっくりと安心できます!!

今回は、この画面の左にあるカテゴリー分けから「Analytics」を選んだときに、各資料にはどのような情報が含まれているかを箇条書きにします。(99-99 形式の数字はページを表します)

Analytics

●●●資料【01_Amazon Athena】

7-11    Amazon Athena 概要
      ユースケース:
      ①アナリストによるアドホック分析 ②ログ分析 ③ETLパイプラインをAthenaで構築
13-28   Athena の使い方:
      ①データを S3 に保存する ②テーブルを定義する ③クエリを実行する

Athena のさまざまなクエリ

30-31   CTAS(Create Table As Select)
32-33   INSERT INTO
34-35   VIEW
36Page  地理間データの分析
37Page   SELECT $path / WHERE $path

Preview

38Page  Amazon Athena Federated Query
39Page  UDF(User Defined Function):ユーザ独自のスカラー関数をUDFとして定義
     (圧縮や解凍、機密データ編集、カスタマイズされた復号など独自の処理)
40Page  Machine Learning (ML) with Amazon Athena:
       AthenaSQLクエリでSageMakerMLモデルを呼出

パフォーマンスチューニング

43-46   データ最適化
48-53   データレイアウトの最適化:①パーティション ②Partition Projection
55Page  クエリの最適化

Athena の運用管理

57Page  Workgroups を利用した利用量・コストの管理
58Page  Amazon EventBridge を利用したクエリの監視
59Page  Amazon Athena のメトリクス
60Page  CloudTrail を利用した利用状況のロギング

Athenaのセキュリティ

62Page  暗号化
63Page  AWS Lake Formation による Fine Grained Access Control
64Page  AWS Glue Data Catalog のリソースベースポリシー
65Page   VPCエンドポイント

サービス上限と料金

67-68    リソース制限
69Page  料金
70Page  リージョン

●●●資料【02_Amazon CloudSearch and Amazon Elasticsearch Service】

5Page   全文検索(Full-Text Search)
6Page   検索と索引(インデックス)
7Page   順次検索
8-10     B-tree
11-16    転置インデックス
18-26    検索エンジンの基礎-Apache Lucene(アパッチ ルシーン)
27-28   自前で検索エンジンを構築:
        A9 Product Search(Amazonも自身(A9)で検索エンジンを構築)
29Page   Apache Lucene入門
30Page   Similarity: tf-idf ⇒ 考え方

35-57    Amazon CloudSearch

59-61   Amazon Elasticsearch Serviceの概要
62-70   Logstash
71-74   ElasticsearchのTerminology
75Page   Amazon ES の Deployment
76Page   dedicated master nodes:ノードを管理するマスター専用ノード
77Page   Zone awareness – 複数のAZを使う設定
78Page   Amazon ES の Deployment の注意点
79Page   サポートAPI
80-82    Typeの定義 – データ構造について
83Page   SenseのChromeプラグイン
84Page   Amazon ESのCloudWatch Metrics
87Page   日本語解析
88Page   ICUで出来ること => Unicodeの正規化
89-91    Kuromoji
92Page   IAM
93-95    CloudWatch Logs を使ったログ監視
96Page   AWS IoT との連携
97Page   バックアップ&リストア

100-101  Amazon CloudSearch と Amazon ES の比較

●●●資料【03_Amazon Elasticsearch Service】

7-10    Elasticsearch概要

12-    Amazon Elasticsearch Service (Amazon ES)の概要
13-15   設定 API、Elasticsearch API
16Page   Amazon ES では Elasticsearchディストリビューションとして Open Distro を採用
17Page   Amazon ES の利点
19-22    Amazon ES ドメインの推奨アーキテクチャ
23Page   Amazon ES のベストプラクティス

25-30   Amazon ES によるログ分析
26Page   Amazon ES へのデータ投入
      :パブリックドメイン、VPCドメインに対応、別アカウントのFirehoseからの投入も可能
27Page   SQL インターフェースのサポート(SQL Query)
28-29    大規模ログ分析のための Ultrawarmノード
30Page   クラスター横断でのクエリ実行

32-35   Amazon ES による検索
32Page   日本語全文検索用のプラグイン(Kuromojiプラグイン、ICU プラグイン)
33-34   ユーザー辞書ルールによるカスタム辞書の使用
35Page   kNN による高速な最近傍探索

37-44   Amazon ES の管理
37Page   Index State Management (ISM) でインデックス管理の自動化
38Page   ロギング(Elasticsearch API のログ、設定 API のログ)
39Page   Amazon ES の監視項目(アラームを設定するべきCloudWatchメトリクス)
40Page   検索APIベースのアラート
41Page   Anomaly Detection をトリガーにしたアラートの実行(AI異常検知)
42Page   Amazon ES の設定変更・注意事項
43-44   Amazon ES のスナップショット、Elasticsearch on EC2 を Amazon ES に移行

46-50   Amazon ES のセキュリティ
46-52    Amazon ES における認証と認可(IAM、Open Distroベース)
53Page   暗号化
54Page   VPCからAmazon ESにプライベート接続

56Page   Amazon ES の料金
57Page   Amazon ES の制限
58-59   Elasticsearch の機能やプラグインにおけるバージョン要件、
      Elasticsearch バージョンのアップグレード

●●●資料【04_Amazon EMR】

8-47    なぜAmazon EMRなのか?
9-12    データレイク
18Page   高い安全性
23Page   低コスト
31Page   クラスタ構成
34Page   スケールインには注意!
37Page   AWSサービスとの統合
44Page   Spot Instance Advisor
46Page   インスタンスフリートの利用

EMR機能

50Page   ジョブ送信の選択肢
51Page   VPCオプション、BLock Public Access
52Page   IAM
53Page   セキュリティ機能
54Page   Apache Ranger、AWS Lake Formationとの統合(beta)
55Page   Kerberos認証
56Page   EMRFS認可
60Page   AWS Glueデータカタログをメタデータストアとする

EMRセットアップ

62-67   EMRクラスタ作成
68Page   EMRマルチマスター
70Page   AWS Glueデータカタログの設定
76-83   スポットインスタンスとインスタンスフリートを設定
89Page   EBS暗号化→SecurityConfiguration
96Page   EMRノートブック

99-101   Amazon EMR と AWSサービスの使い分け

●●●資料【05_Amazon Kinesis】

7Page   Amazon Kinesis プラットフォーム
      ①AmazonKinesisStreams: ストリームデータを処理するためのアプリケーション構築
      ②AmazonKinesisFirehose: ストリームデータをS3, Redshift, AmazonESへ簡単に配信
      ③AmazonKinesisAnalytics: ストリームデータを標準的なSQLクエリでリアルタイム分析
8-9    ストリーミングデータの利用シナリオ、特徴

12-25   Amazon Kinesis Streams
13-17   アーキテクチャ
18Page   Amazon Kinesis Agent:プロデューサー (データ送信側)
19Page   Amazon Kinesis Producer Library (KPL):プロデューサー (データ送信側)
20Page   Fluent plugin for Amazon Kinesis (V2):プロデューサー (データ送信側)
21Page   Amazon Kinesis Data Generator (KDG):プロデューサー (データ送信側)
22Page   Amazon Kinesis Client Library (KCL):コンシューマー (データ処理側)
23Page   Amazon Kinesis Client Library のステート管理
24Page   Amazon Kinesis Streams 料金

27-33   Amazon Kinesis Firehose
33Page   Amazon Kinesis Firehose 料金

35-38   Amazon Kinesis Analytics
36Page   ①主要コンセプト
37Page   ②Lambdaによる前処理
38Page   ③アプリケーション内部ストリームとポンプ
39Page   ④様々なタイムスタンプ
40Page   ⑤ウィンドウ問い合わせ
41Page   ⑥シンプルなアラート
42Page   ⑦参照テーブルの結合
44Page   Amazon Kinesis Analytics 料金

Amazon Kinesis の適用例

47Page   Amazon Kinesis とストリーム処理
48Page   Amazon Kinesis とラムダアーキテクチャ
49Page   Amazon Kinesis と IoT センサーデータ

●●●資料【06_Amazon MSK】

8-13    ストリームデータ とは? パブリッシュ・サブスクライブ・モデル
15-27   Apache Kafkaの全体像

29-30   Amazon MSK とは? アーキテクチャ
31Page   Amazon MSK を動かすまで
32Page   クラスター準備
33-35    トピック準備
36Page   プロデューサーとコンシューマーの接続
37Page   AWSでのApache Kafkaの実行のためのベストプラクティス

38Page   Kafka on EC2 と Amazon MSK を利用した場合の違い
39Page   クラスターのデプロイメント
40Page   Amazon MSK のネットワーク構成
41Page   クラスターのバージョンアップグレード
42Page   Amazon MSK の監視機能
43-45   取得可能なメトリクスの例

46-47   Amazon MSK のセキュリティ機能
48Page   データの保護
49Page   TLSクライアント認証

50-52    Amazon MSK によるKafkaクラスターの構成管理
53Page   Amazon MSK による構成管理の注意点
54Page   クラスターのスケーリング
55Page   クラスターの耐障害性
56Page   Amazon MSK のベストプラクティス

57Page   Amazon MSK の料金体系
58Page   Amazon MSK が提供する機能のまとめ

60-61    Amazon Kinesis Data Streams
62-66    AmazonMSK と AmazonKinesisDataStreamsの特徴、用語対比、アーキテクチャ比較
67-68   Amazon MSK における Kafka のエコシステムとの互換性
69Page   Kafka MirrorMaker:Kafkaのクラスター間をレプリーケーションするツール
70Page   Kafka Connect:Kafkaと周辺のシステムを接続するためのフレームワーク
71Page   Schema Registry
72Page   Apache Kafka のユースケース
73Page   Amazon MSK のユースケース
74Page   オンプレミス上のストリーム処理+バッチ処理の移行
75Page   ストリーム・パイプラインのアーキテクチャと移行プラン

●●●資料【07_AWS Lake Formation】

7-11    データレイクとは

13-16   AWS Lake Formation 登場の背景
16Page   AWS Lake Formation 概要

18-23   AWS Lake Formation の機能(下記①②+データカタログ、ロギング)
19Page   ①ブループリント
20Page   ②アクセスパーミッション
21-23   Lake Formation ← AWS Glue

25-50   セキュリティ
25Page   用語(Data Lake Location、Data Location)
26-29   Lake Formation のセキュリティパーミッション(IAM拡張独自アクセス許可)
30Page   ①データロケーションのアクセス許可
31Page   ②データカタログのアクセス許可(データベースとテーブル←Grant/Revoke)
32-33    ③データアクセス許可(←Grant/Revoke、テーブル_列レベルの権限付与)
34Page   ④暗黙的なアクセス許可
      (データベース作成者、テーブル作成者、データレイクユーザー)
35Page    ※ データレイク管理者の暗黙的なアクセス許可
36Page   アクセス許可の一覧
37Page   アクセス時の連携イメージ
38Page   従来のGlueによるアクセス制御(IAM)との違い
39-40    Lake Formation のペルソナ※と権限のリファレンス
41Page   データレイク管理者の権限
42Page   データエンジニアの権限
43Page   データ分析者の権限
44Page   ワークフローロールの権限
46-47    許可を与えるシナリオの例
48-49    自動化
50Page   ニアリアルタイム監査とモニタリング

52-59   データカタログ機能
53Page   メタデータの構成例
54-56    データカタログの検索
57Page   データカタログのアクセス許可モデルの移行 ← IAM
58Page   grant All to IAMAllowedPrincipalsで利用を開始 → 無効化
59Page   ※ データカタログのアクセス許可モデルの移行

61-65   ブループリント
66-71   ユースケース

落ち穂拾い

73Page   Lake Formation と Glue の関係
74Page   初めてデータレイク管理者を作成する

76-77   AWS Lake Formation 費用

●●●資料【08_Amazon Redshift Next Generation Redshift】

7-11    Amazon Redshift とは?
16-17   Amazon Redshift の基本アーキテクチャ
22-25   データレイクという考え方

26-28    Redshift Spectrum でアーキテクチャをデータレイクに拡張
31-33   ピーク時にコンピュートを自動拡張する Concurrency Scaling

36-38   Amazon Redshift次世代アーキテクチャRA3/AQUA
39-40   次世代 Amazon Redshift のアーキテクチャ (RA3インスタンス)
41-42   RA3インスタンスの料金
43Page   RA3インスタンスは最新のNitro 高性能ハードウェアで構成
44Page   Amazon Redshift の料金
45Page   RA3インスタンスと従来インスタンス (DC2/DS2) の互換性
46Page   RA3 と Redshift Spectrum との違い・使い分け
47Page   DS2 インスタンスから RA3 インスタンスへの移行
48Page   DC2 インスタンスから RA3 インスタンスへの移行
49Page   既存 Redshift クラスターの RA3 インスタンスへの移行方法

51-54   AQUA (Advanced Query Accelerator) for Amazon Redshift
      (RA3インスタンスを更に強化)

Amazon Redshift新機能アップデート

58Page   AZ64 – 高い圧縮率と性能を実現する新しい列エンコーディング
59Page   機械学習ベースの自動最適化でクエリパフォーマンス向上
60Page   空間サポート – 新しいデータ型 Geometry
61Page   マテリアライズドビュー (プレビュー中)
62Page   データレイクエクスポート − Parquet でデータを共有
63-64    データレイクエクスポートのユースケース
65-66    フェデレーテッドクエリ (プレビュー中)

●●●資料【09_Amazon Redshift 運用管理】

7-8    Amazon Redshift とは
9Page   レイクハウスアーキテクチャ
10-14   Amazon Redshift選択:ノードタイプ、クエリ方法

16Page   一般的な DWH の運用タスク
17Page   Amazon Redshift で変わる DWH 運用

19-26   Amazon Redshiftの高速化の工夫:
19Page   ①ゾーンマップとソートキー
20Page   ②分散スタイル
       自動テーブル最適化
       Analyze の自動化
       Vacuum Delete の自動化
       テーブルソートの自動化
25Page   ③ワークロード管理機能:WLM
       ワークロード管理の自動化 – Auto WLM

27Page   監視・パッチ適用の自動化
28Page   クラスターの一時停止と再開でコスト削減
29Page   継続的な自動データバックアップ
30Page   AZ障害時はマネージドストレージを使って自動復旧

モニタリングと性能改善

32Page   Amazon Redshiftの主なモニタリング項目
33Page   アドバイザー機能
34Page   クエリーとクラスターの監視
      ※ 性能分析データは、一時停止/再開やスナップショットからの復元では残存していない
35-36    システムテーブルとビューによる性能分析
37Page   Admin Views / Scripts
38page   クエリが性能要件を満たせない場合は
39Page   マテリアライズド・ビューの利用でクエリを高速化
40Page   必要な性能に合わせてノード構成を変更する Elastic Resize

利用者の増加に対処する

42-43   DWHワークロードの特徴
44Page   重要なクエリを優先的に実行
45Page   ショートクエリアクセラレーション (SQA)
46-50   ピーク時にコンピュートを自動拡張する Concurrency Scaling

データ連携はどのように行うか

52Page   様々なデータ連携
53-54   データロードと変換
55Page   データレイクを介した他サービスとのデータ連携 Redshift Spectrum
56Page   Federated queryで、業務DBへ直接アクセス
57Page   Redshift SpectrumとFederated queryを利用した例
58-60   Anazon Redshift Data Sharing

●●●資料【10_Amazon Redshift】

7-10    Amazon Redshift とは?
11-14   アーキテクチャ
15-18   クエリの実行
19Page   データロードとアンロード
21-22   特長

ハイパフォーマンス

23-52   ハイパフォーマンスを実現するための4つのポイント
24-27    ①列指向ストレージ
29-32    ②データ圧縮
24-48    ③ソートキー
50-52    ④データ分散

フルマネージド

54-55   構築・運用の手間を削減
56Page   機械学習ベースの自動最適化によるクエリ性能の向上
57Page   ワークロード管理:キューとスロット
58Page   自動ワークロード管理とクエリ優先度で効率的に処理
59Page   ショートクエリアクセラレーション(SQA)による高速化
60Page   動的に設定変更可能なリコメンデーションの提案
61Page   クエリエディタ機能

拡張性&柔軟性

63Page   コンピュートノードの追加で拡張可能
64Page   数分でクラスターの伸縮を実現する Elastic Resize
65Page   ピーク時にコンピュートを自動拡張する Concurrency Scaling

データレイク&AWSサービスとの親和性

67Page   Redshift Spectrum でアーキテクチャをデータレイクに拡張
68Page   Redshift Spectrum のアーキテクチャ
69Page   RA3 と Redshift Spectrum との違い・使い分け
70Page   データレイクエクスポート − Parquet でデータを共有
71Page   フェデレーテッドクエリ(プレビュー中)

高いコスト効果

73-74   料金

セキュリティ&コンプライアンス

76Page   ビルトインされたセキュリティ機能
77Page   アクセスコントロール

●●●資料【11_Amazon Redshift−最新ベストプラクティスとアップデート】

7-9    Amazon Redshift とは

11Page   Amazon Redshift Spectrum
12Page   Amazon Redshift Spectrum アーキテクチャ
13-15   Spectrum ユースケース

ベストプラクティス

17Page   ①ファイル/テーブル属性
18Page   ②パーティションプルーニング
19Page   ③Min/Max プルーニング
20Page   ④Spectrum 層へのプッシュダウン
       ※ 複数カラムの DISTINCT は GROUP BY に書き換える必要あり
21-22    ⑤データレイアウト:ホットデータをRedshift内部へ、ウォーム/コールドをS3へ
       Bloom filters で Spectrum の結合クエリの性能が向上
       → 外部テーブルと内部テーブルの結合を効率化して最大 2 倍高速に
23Page   ⑥実行計画の最適化
24-25    ⑦Redshiftクラスターサイズ
26Page    Redshift クラスターのトータルスライス数の確認

27Page   データレイクエクスポート
28Page   ①CTAS で簡単に Spectrum 外部テーブルを作成
29Page   ②CTAS で簡単に Spectrum 外部テーブルを作成
30Page   ③Spectrum 外部テーブルへの書込(データ追加)も可能
31Page   マテリアライズドビューが外部テーブルを参照可能に

ワークロード管理 (WLM)を活用する

34Page   DWHのワークロード管理
35Page   WLM (ワークロード管理) とは
36-38   WLM の基本
39Page   一時ディスク領域を使用したクエリの特定
40-42   手動WLM と自動WLM
43-44   自動WLM とクエリ優先度
45Page   クエリモニタリングルール (QMR)
46Page   自動 WLM とクエリ優先度の設定例
47-53   クエリ優先度の動き

アップデート

55Page   Concurrency Scaling and Spectrum Usage Limit
       → 日/週/月毎の単位で使用上限を設定し、コストをコントロールすることが可能に
56Page   Azure Active Directory SSO 連携と多要素認証 (MFA)
       → SAML準拠のシングルサインオン(SSO)
57Page   スキーマのストレージ制御 (Schema Quota)
       → スキーマが使用するディスク容量を制限することが可能

●●●資料【12_Amazon Redshift Update】

8-9     Amazon Redshift とは?
10-11    アーキテクチャ
12-13   高速処理のための並列構成
14Page   インスタンスタイプ
15-17   高速処理のためのI/O削減
18Page   高速処理のための処理①‐ショートクエリアクセラレーション(SQA)
19Page   高速処理のための処理②‐結果セットのキャッシュ(リザルトキャッシュ)
20Page   スケールアウトによるパフォーマンス向上‐クラスタリサイズ
21Page   データウェアハウスをS3データレイクへ拡張
22Page   Redshift Spectrum特徴
23Page   初期費用無料・利用分だけの支払い

Redshift 2018の主なアップデート

28-29   クエリパフォーマンスの継続的向上
30-43   Elastic Resize
45Page   Vacuum と Analyze がバックグラウンドで実行可能

48-50    クラスターモニタリングに関するアップデート
52Page   Redshiftクエリエディタ&保存クエリ
54Page   Redshiftアドバイザ

56Page   「拡張されたVPCのルーティング」とSpectrum
57Page   「Parquet / ORCファイルフォーマットから COPY可能に
58-59     Spectrumネスト化されたデータのサポート
60Page   クエリの例

Redshift今後のアップデート(re:Invent2018 )

62-64    Concurrency Scaling (プレビュー)
65Page   Amazon Redshiftインテリジェントなメンテナンス
66Page   Amazon Redshiftインテリジェントな管理
67Page   ストアドプロシージャー in Redshift
68Page   Amazon Redshift Spectrum

●●●資料【13_Amazon QuickSightのBI機能を独自アプリケーションやSaaSに埋め込む】

SaaSへのBI機能追加にAmazon QuickSightを選択するメリット

7-9    Amazon QuickSightの特徴
10Page   SPICE : インメモリカラムナデータベース
11Page   QuickSight+Athena+S3でフルサーバレスのBIサービス
12Page   SaaSの成長に合わせた利用が可能な料金体系
13Page   API/CLIによる連携、自動化

認証とID管理

15Page   QuickSightのユーザー分類
16Page   QuickSightにおける認証とID管理
17Page   emailアドレス管理
18Page   IAM (+フェデレーション)
19Page   IAMユーザの自己プロビジョニング
20-21   SAML IdPによるSSO設定の流れ

アプリケーションへの埋め込み

23-24   SaaS等アプリへの埋め込み
25Page   ステップ①:ドメインの登録(QuickSight)
26Page   ステップ②:権限範囲の設定(IAM)
27Page   補足:IAM Policyの例
28Page   補足:SaaSアプリケーション側に必要になる権限
29Page   ステップ③:認証し、一時URLを取得 (App Server)
30Page   補足:Userが事前に作成されている場合
31Page   ステップ④:埋め込みを実施 (App Server)
32Page   [参考] 事例:NFL Next Gen Stats

アクセス制御(認可)の方法

34Page   QuickSight全体のアクセス権限の設定
35Page   QuickSightにおける認可の考え方
36Page   Authorの権限管理
37Page   グループ機能①
38Page   グループ機能② 作成方法(例)
39Page   補足: ADFSでのSSO
40Page   データセット上のアクセス範囲の制御 – 行レベルセキュリティ・列レベルセキュリティ
41Page   共有フォルダーによる認可の実現
42-45    ネームスペース(名前空間)を使ったマルチテナント構成

関連機能&Tips

47Page   アクションを使ってQuickSightからSaaSに連携する
48Page   補足:QuickSightダッシュボード間の連携
49-50    テーマでシステム間のイメージを統一する
51Page   ダッシュボードのAWSアカウント間転送

補足資料:エディションと料金

57Page   エンタープライズエディション
58Page   エンタープライズエディションで利用可能なセッションキャパシティ料金
59Page   セッションキャパシティ料金の詳細
63Page   スタンダードエディション
64Page   エディション比較(抜粋)
65Page   QuickSightを無料で利用する

●●●資料【14_Amazon QuickSight アップデート】

7-8    Amazon QuickSightの特徴
9-11    画面と用語
12-20   SPICE : 高速なインメモリカラムナデータベース
13Page   「全員のBI利用」を実現する料金体系 ※ スタンダードエディションはReaderがない7
14Page   QuickSightを無料で利用する
      ※ Free Tier:無料で期限無しに利用可能(Enterprise Edition利用可)
15Page   利用可能リージョンとGUIがサポートする言語

MLインサイト(機械学習インサイト)

18Page   MLインサイト – 機械学習ベースのインサイト
19Page   異常検知
20Page   予測とWhat-if分析
21Page   自動ナラティブ(文章で分析結果を表現)
22Page   Amazon QuickSightとSageMakerの連携 (Preview)

埋め込み(Embedded)

25Page   Webサイトへのダッシュボード埋め込み
26Page   ダッシュボードを埋め込むための4ステップ
27Page   事例:NFL Next Gen Stats

表現力のアップデート

29-30    テーマ
31Page   ビジュアルタイプの拡張
32Page   条件付き書式 (conditional format)
33Page   アクション(ワンクリックフィルタ)
34Page   新モバイルアプリ
35Page   その他の改善

データ操作の改善

37Page   クロスソースジョイン
38Page   きめ細かなアクセスコントロール
39Page    Athena Workgroup サポート
40Page   レベル対応の集計 (LAA : Level Aware Aggregations)
41Page   APIの機能拡充

●●●資料【15_AWS Glue猫でもわかる、AWS Glue ETLパフォーマンス・チューニング 後編】

9Page   AWS Glue ETL ジョブのチューニングの基本戦略
      1. 新しいバージョンを利用する
      2. データのI/O負荷を小さくする
      3. シャッフルを最小限にする
      4. タスク単位の処理を高速化する
      5. 並列化する

10Page   パフォーマンス・チューニングのサイクル
      1. パフォーマンス目標を決める
      2. メトリクスを測定する
      3. ボトルネックを特定する
      4. ボトルネックの影響を軽減する
      5. 目標を達成するまで2. から 4. を繰り返す
      6. パフォーマンス目標の達成

新しいバージョンを利用する

13-14   AWS Glue 2.0、3.0を利用して起動時間を削減

データI/Oを最小限にする

15Page   ①必要なデータだけ読む
      ②1taskで読むデータ量をコントロールする
      ③適切な圧縮形式を選ぶ
16Page   Apache Parquetを使用する
17-20    Partition FilteringとFilter Pushdown
21Page   用途に応じて圧縮コーデックを選ぶ
22Page   適切なファイルサイズでデータを格納する
23Page   DynamicFrameでBounded Executionを利用する
24Page   DynamicFrameのgroupFiles, groupSizeの利用
25Page   DataFrameとDynamicFrameでのファイル数と処理時間
26Page   DynamicFrameのS3ListImplementationの利用
27Page   Partition Indexを設定する
28Page   Partition Indexを利用した場合としない場合のクエリプランニング時間の違いの例
29Page   DataFrameのJDBC接続における並列データ読み取り
30Page   DynamicFrameのJDBC接続における並列データ読み取り

シャッフルを最小限にする

33Page   シャッフルを最小限にする
34-35    cacheをうまく利用する
36Page   使わなくなったcacheは削除する
37Page   filter処理をなるべく前段で行う
38Page   joinの順番を工夫する
39-40    joinの使い分け
41Page   coalesce
42Page   self joinとデータ集計の代わりにWindow処理を利用する

タスク単位の処理を高速化する

44Page   Scalaを利用する
45Page   PySparkのUDFは避ける
46Page   PythonUDFよりPandasUDFを利用する
47Page   AWS Glue ETLにおけるPython UDF、Pandas UDF、Spark APIのパフォーマンスの違いの例

並列化する

49-50    データの偏り(Skewness)への対処
50Page   インプットファイルを作成時にファイルサイズが均⼀になるようにする
      ①repartitionする
      ②broadcast join
      ③saltingする
51Page   Skewness(データの偏り)への対処:repartitionする
52Page   Skewness(データの偏り)への対処:broadcast join
53-54   Skewness(データの偏り)への対処:Saltingする
55Page   Skew Joinの方法
56Page   パフォーマンスを考慮したインクリメンタルIDの付与
57Page   AWS GlueのWorker Typeの選定
58Page   理想的なリソース使用状況
59Page   ワーカー数とジョブ実行時間のトレードオフ

●●●資料【16_AWS Glue猫でもわかる、AWS Glue ETLパフォーマンス・チューニング 前編】

8Page   AWS Glue と Apache Spark

10-13   Apache Spark(クラスタモード)のアーキテクチャ
14Page   RDDとDataFrame
15Page   処理は「遅延評価」で行われる
16Page   変換とアクションの例
17Page   Sparkアプリケーション
18Page   シャッフル(タスク間のデータのやりとり)とステージ
19Page   シャッフル を伴う処理と伴わない処理
20Page   シャッフル(タスク間でのデータのやりとり)を伴う処理と伴わない処理
21Page   Catalyst Query Optimizerによる最適化
22Page   PySparkのアーキテクチャ

AWS Glue固有の機能

24Page   データカタログ
25Page   DynamicFrame
26Page   Choice型
27Page   DynamicFrameとDataFrameの特性を生かしたETL処理
28Page   ブックマーク機能:定常的なETLを行う場合に差分データのみを処理させる機能

AWS Glue ETLのパフォーマンス・チューニングの進め方

30Page   パフォーマンス・チューニングのサイクル
      1. パフォーマンス目標を決める
      2. メトリクスを測定する
      3. ボトルネックを特定する
      4. ボトルネックの影響を軽減する
      5. 目標を達成するまで2. から 4. を繰り返す
      6. パフォーマンス目標の達成
31Page   AWS Glue/Apache Sparkの特性を理解する
32Page   AWS GlueにおけるSparkパラメータ
33Page   見るべきメトリクス
34Page   チューニングを行うためのジョブ設定

Spark UI

36Page   Spark History Server
37Page   Dockerで起動する例
38Page   Spark History Server
39Page   アプリケーションで実行されたジョブ一覧
40Page   ジョブの中身の確認
41-42    Stageの中身の確認
43Page   Failしているタスクのdetailを見る
44Page   Sparkアプリケーション実行時の環境設定の一覧
45Page   DriverとExecutorのノード一覧
46Page   Spark SQLのクエリ実行プランの確認

ExecutorとDriverのログ

48Page   CloudWatchのLog groupsを確認

AWS Glue ジョブメトリクス

50Page   ExecutorやDriverのリソース使用状況を確認

SparkのAPI

52-58   処理途中でのデータの傾向をコマンドで確認する

●●●資料【17_AWS Glue-Glue Studioを使ったデータ変換のベストプラクティス】

7-10    データ分析の現状、データ活用を阻む要因、前処理における課題
11-12   AWS Glue とは?
13-18   AWS Glue の構成要素と周辺サービス
19Page   データレイク環境の構成要素
20Page   データレイク環境におけるAWS Glueの役割
21-22   ETLジョブ
23-24    データのクローリング
25-26   カタログを使用したデータ参照
27Page   ワークフロー管理
28-30    AWS Glue の構成要素と周辺サービス

AWS Glue Studioの概要

32-33   代表的なデータ利用者
34Page   従来のAWS Glue でのJOB実装
35Page   AWS Glue Studio
36Page   シンプルビューの詳細
37Page   カスタマイズを可能にするノード
38Page   視覚的なJOBモニタリング

ユースケースとGlue Studioでの実装

40-43   ユースケース 1:ログストリーム/IoTセンサーデータの分析
44Page   具体的なデータイメージ
45Page   解決策:
      1.フォーマットを列指向フォーマットに変換する
      2.大量ファイルをコンパクションする
      3.適切な単位でパーティショニングする
46Page   列指向フォーマットとは
47Page   コンパクションとは
48Page   パーティショニングとは
49Page   ログストリーム / IoTセンサーデータ分析の解決策
50Page   AWS Glue Studioを使用したETL JOBの作成
51Page   JOBの作成
52-54   データソースの指定
55-56   データの整形
57-58   データファイルのコンパクション
59Page   DynamicFrameとは
60Page   コードの内容
61Page   データファイルのコンパクション
62-63    フォーマット変換
64Page   出力先の指定
65Page   パーティショニング
66-67    JOBの詳細設定
68Page   Worker Type
69Page   JOBの詳細設定
70Page   結果のモニタリング
71Page   実行結果
72Page   ログストリーム / IoTセンサーデータ分析の解決策

73-77   ユースケース 2:データベースレプリカへの処理をオフロード
74-76    RDSにあるデータを直接分析している場合の課題
77Page   RDSにあるデータを直接分析している場合の解決策
78Page   AWS Glue Studioを使用したETL JOBの作成
79-81   データソースの指定
82-83   外部テーブルの結合
84Page   ターゲットの選択
85Page   JOBの詳細設定
86Page   結果のモニタリング
87Page   実行結果
88Page   RDSにあるデータを直接分析している場合の解決策

89-93   ユースケース 3:他クラウド/オンプレミス にあるデータの分析
90-91   他クラウド/オンプレミス にあるデータを分析する場合の問題点
92Page   AWS Glue Custom Connectors
93Page   他クラウド/オンプレミス にあるデータを分析する場合の解決策
94Page   AWS Glue Custom Connectors の使用
95-97   カスタムコネクターのサブスクライブ
98Page   コネクターの作成
99-100   データソースの指定
101Page  ターゲットの指定
102Page  JOBの詳細設定
103Page  結果のモニタリング
104Page  他クラウド/オンプレミス にあるデータを分析する場合の解決策

その他の主要アップデート

106-108  AWS Glue DataBrew
109Page  AWS Glue DataBrew と AWS Glue Studioの違い

111Page  AWS Glue Elastic Views (Preview)
112Page  プレビュー時にサポートされるsourceとtarget
113Page  previewで利用可能なユースケース

●●●資料【18_AWS Glue DataBrew】

7-9    データ準備の課題
11-12   AWS Glue DataBrew 概要

AWS Glue DataBrewの使い方

14Page   AWS Glue DataBrew 用語の紹介
15-16   AWS Glue DataBrew の使い方

①事前準備 (IAM)

17Page   IAM おさらい
18Page   事前準備として必要なもの
19Page   IAM ユーザー/グループ準備
20Page   IAM ロール準備
21Page   AWS Glue DataBrew の使い方
22-23    プロジェクトの作成
24-26    プロジェクト作成手順
27Page   サポートされるデータセット
28Page   Amazon S3 上のデータ
29Page   他 AWS サービス上のデータ
30-31   レシピの作成、管理

②代表的な変換処理

33Page   データのフィルタリング
34Page   データの結合
35Page   データの集計
36Page   欠損値の補完
37Page   関数を使った新たな列の作成
38Page   複数列の統合
39Page   フラグ値の作成
40Page   One-hot エンコーディング
41Page   数値データの正規化

③ジョブの実行

43Page   ジョブ
45-46   レシピジョブの作成手順
47Page   サポートされるデータセット
48Page   レシピジョブの作成手順
49Page   データリネージ

51-53   プロファイルジョブの作成手順
54Page   データプロファイルの生成

AWS Glue DataBrew のユースケース

57Page   1. BI レポーティングのためのアドホックデータ分析
58Page   2. AWS Lambda でデータ品質ルールを設定
59-60   3. 機械学習のためのデータ前処理
61Page   4. ワークフロー内でデータ準備をオーケストレーション
62Page   AWS Step Functions との連携
63Page   AWS Glue DataBrew/AWS Glue Studio

65Page   AWS Glue DataBrew の料金

●●●資料【19_AWS Glue】

6-11    データ分析のプロセス例
12-13   AWS Glueの特徴

AWS Glueの機能

15-20   AWS Glueの全体像

AWS Glueの構成要素:データカタログ

23Page   データカタログ
24Page   Apache Hiveメタストアとは
25Page   24Page   クローラー
26Page   メタデータの構成例
27Page   接続管理

AWS Glueの構成要素:サーバーレスエンジン

30Page   ジョブ作成
31Page   Worker Type
32Page   DataFrame処理前に、複数の型が混じる場合、ETLコードを記述する必要がある
33Page   DynamicFrameとは
34Page   Choice型
35Page   ブックマーク機能
36-39   DynamicFrameとDataFrameの特性を生かしたETL処理
40-42   PySparkコードサンプル
43Page   Python Shellコードサンプル
44Page   サーバーレスETL処理の使い分け

AWS Glueの構成要素:オーケストレーション

46Page   独自ライブラリ(PythonおよびScala)の利用
47Page   トリガー
48Page   ワークフロー機能

開発

50Page   開発:ETLジョブのコードを開発/実行するための環境
51Page   SageMaker Notebook
52Page   開発エンドポイントとNotebookの関係

ネットワーク/セキュリティ/監視

54-59    GlueからVPCへのアクセス
60Page   セキュリティグループ
61Page   IAM設定
62Page   リソースレベルによるポリシーとアクセス許可
63Page   暗号化
64Page   モニタリング
65Page   Continuous Logging
66Page   その他 前回(2017/10/18)からの主なアップデート

ユースケース

69-73   データカタログを用いたメタデータ管理
74Page   ジョブによるSQLの定期実行
75Page   WorkFlow機能を用いたETLパイプライン
76Page   サーバーレスアナリティクス
77-80    データレイクを用いたログ分析基盤
81-83    GlueとSageMakerを用いた機械学習基盤

85-86   料金