狠狠撸

狠狠撸Share a Scribd company logo
Effective Datalake
?基礎からわかるデータレイクの定義と実践?
データアナリティクス事業本部
?川 覚
?名
- ?川 覚 (いしかわ さとる)
所属
- データアナリティクス事業本部 (DA事業本部)
- インテグレーション部 (インテグ部) 開発チーム
- 札幌オフィス勤務
略歴
- メーカー系SIer、ITベンチャー企業、現在に?る
担当業務
- データ分析基盤のコンサルティング、設計、開発
好きなAWSサービス
- AWSサポート、Redshift、Athena、Glue、LakeFormation
2??紹介
James Goslingさん 筆者
スライドは後で??することが出来ますので
発表中の内容をメモする必要はありません。
写真撮影をする場合は
フラッシュ?シャッター?が出ないようにご配慮ください
Attention
お知らせ?
? クラスメソッドテクニカルライブラリー
? ホワイトペーパー
? データウェアハウスAWS移?編(改訂版)
? Redshiftの仕組みと導?ポイントの他、
Schema Conversion Tools(SCT)による移?
? ?次
? なぜクラウドでDWHなのか?
? クラウド型DWH Amazon Redshiftとは
? Amazon Redshiftを使ってみる
? Amazon Redshiftにデータを移?してみる
? NetezzaからRedshiftへの移?
? まとめ
5アジェンダ
? はじめに
? データレイクとは
? AWS Glue
? Aamzon Athena / Redshift Spectrum
? データ設計のベストプラクティス
? Redshiftからデータレイクの移?
? AWS Lake Formation
? まとめ
はじめに
7
DWH vs Datalake
誤解
8
DWH vs Datalake
もちろん、敵対関係ではありません
誤解
9
DWHは古い?
全てDatalakeに置き換えられる?
誤解
10
DWHは古い?
全てDatalakeに置き換えられる?
今後はDWHとDatalakeの併?
但し、互いに機能を追加して境界が曖昧に
なっている
誤解
11
Datalakeは、データ分析の
「銀の弾丸」ですよね?
幻想
12
Datalakeは、データ分析の
「銀の弾丸」ですよね?
んな訳ないですw
幻想
13
データレイクの誤解と幻想をリセットして、
真の価値をお伝えします
本?お伝えしたいこと
データレイクとは
さまざまなデータを?元管理した安全なリポジトリ
15
A centralized secure repository that enables
you to govern, discover, share, and analyze
structured and unstructured data at any scale
あらゆる規模の構造化データおよび?構造化データを
管理、探索、共有、分析できる
?元管理された安全なリポジトリです
データレイクとは
A Deep Dive on AWS Lake Formation (Now GA!) - AWS Online Tech Talks
https://youtu.be/slaJ6wVVb0c?t=118
16
A centralized secure repository that enables
you to govern, discover, share, and analyze
structured and unstructured data at any scale
あらゆる規模の構造化データおよび?構造化データを
管理、探索、共有、分析できる
?元管理された安全なリポジトリです
データレイクとは
A Deep Dive on AWS Lake Formation (Now GA!) - AWS Online Tech Talks
https://youtu.be/slaJ6wVVb0c?t=118
?
17AWSのデータレイクとは
あらゆる規模の構造化データ??構造化データを
データはS3にそのままの形式で保存、
メタデータをデータカタログに登録した
?元化された安全なリポジトリです
最終的にテーブルに対して直接SQLを実?できます
18AWSのデータレイク登場の背景
? 従来のDWHの課題
? ストレージのキャパシティ
? ストレージを占めるコールドデータ
? データロードの必要性
? ピーク時想定したサイジング
? データ分析環境の変化
? 従来はDWHにデータを統合して分
析することの?択
? 現在はデータをDWHだけではなく
機械学習/ディープラーニングや
様々なオープンソースのエコシステ
ムとの連携が求められている
データをロードせずに分
析したい
ストレージとコンピュー
ティング分離したい
S3とオープンなファイ
ルフォーマット
19AWSのデータレイクの特?
? S3から直接データを取得
? S3 の低コストかつ堅牢性?可?性の利点を享受
? ストレージサイズの制限がない
? ストレージとコンピューティングを分離
? Glueデータカタログにメタデータを?元管理
? 安全に?元管理したリポジトリ
? データロード不要
? スキーマオンリード
? 構造化??構造化データ問わない
? さまざまなフォーマットに対応(CSV、JSON、Parquet等)
20メタデータの管理/SQLの実?
SQLの実?
?Amazon Redshift Spectrum
?Amazon Athena
?Amazon EMR
?AWS Glue(ETL Job)
メタデータの管理
?AWS Glue(Data Catalog)
?AWS Lake Formation
21AWSのデータレイクの基本アーキテクチャ
Glue
Data Catalog
データの取得
テーブル定義の取得
SELECT で参照する
データは Amazon
S3にあります
Amazon
S3
CREATE EXTERNAL
TABLE で登録したメタ
データ(テーブルの定義)
は全てGlueデータカタロ
グにあります
※ Apache Hive メタスト
アをベースにしたもの Glue ETL Jobs
(Spark)
? Glueデータカタログは、
S3のファイルに対するメ
タデータ(テーブル定
義)を保存する
? Glueデータカタログに
Hive DDL形式でテーブル
定義を保存することで、
からメタデータを集中管
理する
? Redshift、Athena、EMR
は、Glueデータカタログ
の定義情報に基づき、S3
のファイルに対してクエ
リを実?する
Glue
Crawler
AWS Glue
データレイクのメタデータ、ETLジョブ、ワークフロー管理等の基盤サービス
23AWS Glue の特? – Glue Data Catalog
データレイクのメタデータ(テーブル定義)を
安全かつ?元的に管理する
? メタデータの登録
? S3に対して、Amazon Athena や Amazon Redshift からDDL(CREATE
EXTERNAL TABLE)を実?して、データベースやテーブルを登録する
? メタデータの利?
? Amazon Athena や Amazon Redshiftからクエリを実?したときに、データレイ
ク上のテーブルのメタ情報を?動的に取得する
? メタデータの管理
? Glueのコンソールからメタデータの編集、削除が可能
? メタデータは、Apache Hive Metastore互換
※リージョン毎に上記の処理をフルマネージドサービスとして提供する
24AWS Glue の特? – Glue Crawler, Job, Trigger
巨?なS3のデータに対するETLを
「分散処理」で対応、「サーバレス」で提供
? クローラ
? 未知のデータ(Dark Data)をスキャンして、データ構造を推測(Infer)し、
データカタログにテーブルを?動登録する
? ジョブ
? Spark: データカタログに登録されたテーブルに対して、ETLジョブを作成する
? Python shell: 単にPythonスクリプトを実?する?的のジョブを作成する
? トリガ
? 関連するジョブをトリガにまとめて登録する
? トリガはオンデマンド(即時)/スケジュール/ジョブの終了イベントの何れか
で実?させることができる
25AWS Glue の特? - Workflows
クローラ、ジョブ(及びトリガ)の依存関係をGUIで
直感的にETLワークロードを作成、実?、管理
? Add Node
? 既存のジョブやクローラを選択
? Add Trigger
? 後続のエンティティの実?条件を選択
26AWS Glue のアーキテクチャ
? データソースをクロール(デー
タの解析)して、メタデータ
(テーブル定義)を?動?成す
る
? メタデータはデータカタログ
(Hiveデータカタログ互換)に
て管理する
? データカタログのメタデータを
元にETLジョブ作成
(PySpark)?実?する
? クロールやジョブはサーバーレ
スな環境で実?される
27Apache Spark と AWS Glue ETL
? AWS Glue ETLライブラリ
? 統合?データカタログ、ジョブオーケス
トレーション、コード?成、ジョブブッ
クマーク、S3、RDS、ETL変換、より多
くのコネクタとフォーマット
? 新しいデータ構造?Dynamic Frames
? Apache Sparkとは何か?
? パラレル、かつスケールアウト
? データ処理エンジン
? フォールトトレランス機能を内蔵
? 柔軟なインターフェイス? Python、Scala、SQL
? リッチエコシステム?ML、グラフ、分析、...
? バージョン?Apache Spark 2.2.1 or 2.4.3
相互変換
Amazon Athena / Redshift Spectrum
S3の?量のデータに直接クエリを投げられるサービス
29データレイクのクエリエンジン共通の特?
?規模スケールアウト型の処理層を使い、
S3上のデータに対してSQLを実?する
AWSが提供する『データレイク』向けの主要なクエリエンジンは、
Amazon Athena とAmazon Redshift Spectrum の2つ
? データロード不要
? 様々なフォーマットのデータに対しクエリー
? Amazon S3から直接データを取得
? 主に参照系クエリー
? スキャンされたバイト数に対する課?(1TB/$5)
30主な特?
サーバレスでインフラ管理の必要なし
?規模データに対しても?速なクエリ
事前のデータロードなしにS3に直接クエリ
スキャンしたデータに対しての従量課?
オープンファイルフォーマット
スケールアウトでエクサバイト級に対応
Athena
サーバレスでインフラ管理の必要なし
?規模データに対しても?速なクエリ
事前のデータロードなしにS3に直接クエリ
スキャンしたデータに対しての従量課?
ODBC/JDBC 経由で BI ツールから直接クエリ
オープンファイルフォーマット
スケールアウトでエクサバイト級に対応
Redshift Spectrum
サーバレスのクエリエンジン
ODBC/JDBC 経由で BI ツールから直接クエリ
Redshiftの拡張クエリエンジン
31Athena/Spectrumの相違点
? サービス
? Athena?パブリックサービス
? Spectrum?エンドポイントはVPC内のRedshiftであり、VPCサービス
? クラスタ構築
? Athena?サーバレスなのでクラスタ構築は不要、前払いなし、その場限り
? Spectrum? Redshiftの拡張機能なので、Redshiftクラスタは必要
? SELECTクエリの同時実?性能
? Athena?デフォルト「20」、上限緩和可能
? Redshift Spectrum?WLMの同時実?数とスライス数の範囲内
? アクセス制御
? Athena?IAMユーザーとS3バケットポリシー
? Spectrum?RedshiftのIAMロールとS3バケットポリシーとDBユーザー権限
32Amazon Athena アーキテクチャー
...
1 2 3 4 N
Glue Data Catalog
Apache Hive Metastore
Amazon Athena が
? S3からのデータ取得
? 射影、集計、フィルタリン
グ、ソート、関数の適?
? クエリ結果をS3に保存
を実施する
Amazon S3
Exabyte-scale object storage
Amazon Athena
ANSI SQL Compatible
In memory Distributed Query engine
Data SourcesQuery Results
API/CLI,
AWS SDK
BIツール
(ODBC/JDBC)
マネジメント
コンソール
33Amazon Athena アーキテクチャー
...
1 2 3 4 N
Glue Data Catalog
Apache Hive Metastore
Amazon Athena が
? S3からのデータ取得
? 射影、集計、フィルタリン
グ、ソート、関数の適?
? クエリ結果をS3に保存
を実施する
Amazon S3
Exabyte-scale object storage
Amazon Athena
ANSI SQL Compatible
In memory Distributed Query engine
Data SourcesQuery Results
API/CLI,
AWS SDK
BIツール
(ODBC/JDBC)
マネジメント
コンソール
34Amazon Athena アーキテクチャー
...
1 2 3 4 N
Glue Data Catalog
Apache Hive Metastore
Amazon Athena が
? S3からのデータ取得
? 射影、集計、フィルタリン
グ、ソート、関数の適?
? クエリ結果をS3に保存
を実施する
Amazon S3
Exabyte-scale object storage
Amazon Athena
ANSI SQL Compatible
In memory Distributed Query engine
Data SourcesQuery Results
API/CLI,
AWS SDK
BIツール
(ODBC/JDBC)
マネジメント
コンソール
35Amazon Redshift Spectrum アーキテクチャー
8
Amazon
Redshift
...
1 2 3 4 N
Glue Data Catalog
Apache Hive Metastore
Redshift Spectrum
Query service Layer for S3
Amazon S3
Exabyte-scale object storage
Data Sources
psql,
libpg
BIツール
(ODBC/JDBC)
Slice
1
Slice
2
Slice
1
Slice
2
Slice
1
Slice
2
Compute
Node 1
Compute
Node 2
Compute
Node N
Slice
1
Slice
2
Leader
Node
(クエリエンジンは独?のもの)
マネジメント
コンソール
Spectrum層が
? S3からのデータ取得
? 射影、集計、フィルタ、ソート
? クエリ結果をコンピュートノード
に返す
36Amazon Redshift Spectrum アーキテクチャー
8
Amazon
Redshift
...
1 2 3 4 N
Glue Data Catalog
Apache Hive Metastore
Redshift Spectrum
Query service Layer for S3
Amazon S3
Exabyte-scale object storage
Data Sources
psql,
libpg
BIツール
(ODBC/JDBC)
Slice
1
Slice
2
Slice
1
Slice
2
Slice
1
Slice
2
Compute
Node 1
Compute
Node 2
Compute
Node N
Slice
1
Slice
2
Leader
Node
(クエリエンジンは独?のもの)
マネジメント
コンソール
Spectrum層が
? S3からのデータ取得
? 射影、集計、フィルタ、ソート
? クエリ結果をコンピュートノード
に返す
37Amazon Redshift Spectrum アーキテクチャー
8
Amazon
Redshift
...
1 2 3 4 N
Glue Data Catalog
Apache Hive Metastore
Redshift Spectrum
Query service Layer for S3
Spectrum層が
? S3からのデータ取得
? 射影、集計、フィルタ、ソート
? クエリ結果をコンピュートノード
に返す
Amazon S3
Exabyte-scale object storage
Data Sources
psql,
libpg
BIツール
(ODBC/JDBC)
Slice
1
Slice
2
Slice
1
Slice
2
Slice
1
Slice
2
Compute
Node 1
Compute
Node 2
Compute
Node N
Slice
1
Slice
2
Leader
Node
(クエリエンジンは独?のもの)
マネジメント
コンソール
38Amazon Redshift Spectrum アーキテクチャー
8
Amazon
Redshift
...
1 2 3 4 N
Glue Data Catalog
Apache Hive Metastore
Redshift Spectrum
Query service Layer for S3
Amazon S3
Exabyte-scale object storage
Data Sources
psql,
libpg
BIツール
(ODBC/JDBC)
Slice
1
Slice
2
Slice
1
Slice
2
Slice
1
Slice
2
Compute
Node 1
Compute
Node 2
Compute
Node N
Slice
1
Slice
2
Leader
Node
(クエリエンジンは独?のもの)
マネジメント
コンソール
Spectrum層が
? S3からのデータ取得
? 射影、集計、フィルタ、ソート
? クエリ結果をコンピュートノード
に返す
39
Amazon Athena と Redshift Spectrum の
データ層(S3のファイル)と
Glue Data Catalog(Hive DDL)は共有されています
リポジトリは共有
40AWSのデータレイクの基本アーキテクチャ
Glue
Data Catalog
データの取得
テーブル定義の取得
SELECT で参照する
データは Amazon
S3にあります
Amazon
S3
CREATE EXTERNAL
TABLE で登録したメタ
データ(テーブルの定義)
は全てGlueデータカタロ
グにあります
※ Apache Hive メタスト
アをベースにしたもの Glue ETL Jobs
(Spark)
? Glueデータカタログは、
S3のファイルに対するメ
タデータ(テーブル定
義)を保存する
? Glueデータカタログに
Hive DDL形式でテーブル
定義を保存することで、
からメタデータを集中管
理する
? Redshift、Athena、EMR
は、Glueデータカタログ
の定義情報に基づき、S3
のファイルに対してクエ
リを実?する
Glue
Crawler
41ユースケース1 – データウェアハウスへロードする場合
S3のファイルとRDSのテーブルを結合したデータをRedshiftにロードして、
BIツールで可視化します。Glueの実?ログや完了通知はCloudwatchLogsに出
?します。
42ユースケース2 – S3上にデータレイクを構築する場合
クローラはS3上のファイルをスキャンして、Glue データカタログに追加しま
す。Glue データカタログは主要なメタデータリポジトリです。Glue のデータ
カタログに登録されたら、直ちにデータをAthena、EMR、Redshift
Spectrumから分析可能になります。
データ設計のベストプラクティス
ハイパフォーマンスかつ低コストなデータ設計の指針
44パフォーマンス増加&コスト削減
読み取りデータ量の削減=パフォーマンス増加&コスト削減
? 圧縮する : 圧縮効率と展開速度のバランスでアルゴリズムを選択
? カラムナフォーマットでファイルを保存する?アクセス範囲を?さ
くする
? サイズの不揃いは避け、 128MB?1GB程度に分割
? パーティションする
45パフォーマンス増加&コスト削減
データの圧縮
? 読み取りデータ量(サイズ)を削減によるコストの削減
? 圧縮効率と展開速度のバランスでアルゴリズムを選択
? サポート圧縮形式?GZip, Zlib, LZO, Snappy
46パフォーマンス増加&コスト削減
列指向(カラムナ)フォーマット
47パフォーマンス増加&コスト削減
列指向(カラムナ)フォーマット
? ParquetとORCをサポート
? Parquetのフォーマット変換は、Hive on EMRやApache Drill で変換可能
引?: /AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-athena/34
48パフォーマンス増加&コスト削減
サイズは均等に128MB?1GB程度に分割
? ?平分散できるようにバックエンドの全てワーカーにファイルが分
散され、かつ 処理効率の良いサイズであることが望ましい。
...
1 2 3 4 N
Amazon S3
Exabyte-scale object storage
Amazon Athena
Interactive query service
N台のワーカー
Nの倍数のファイル
Redshift Spectrum
Query service Layer for S3
or
49パフォーマンス増加&コスト削減
パーティショニング
? 検索レンジ毎のフォルダをキー指定できるように構成します。
引?: /AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-athena/27
50パフォーマンス増加&コスト削減
パーティションの分け?「カラム名あり」と「カラム名なし」
引?: /AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-amazon-athena/29
51パフォーマンス増加&コスト削減
S3データファイル (CSV, JSON, Webログ)
データの圧縮
パーティション分割
カラムナフォーマット変換
データレイク?途にS3のデータファイルの最適化
レベルは利?頻度?コスト?パフォーマンスによる
?変換コスト「小」
?リアルタイム
?シンプル
?変換コスト「大」
?パフォーマンス
?クエリコスト「小」
?利用頻度が高い
52データソース設計の?針
ファクト
1. データ圧縮?必須
2. ファイル分割? GBを超えるデータは必須
3. パーティション?GBを超えるデータは必須
4. カラムナフォーマット変換?更なるETLが必要
ディメンジョン
? データ圧縮?必須
? 基本的にRedshiftのストレージ上のテーブルに格納が望ましい
Redshiftからの移?
Redshiftのテーブルをデータレイクに移?するツールの紹介
54Amazon Athenaへ移?の流れ
1. Athenaにテーブルを作成する
Redshiftのテーブル定義情報からAthenaのテーブ
ル作成SQLを?動?成して、テーブルを作成(※
1)します。
2. データファイルを配置する
既存のデータファイルは、?次でファイル分割さ
れているので、カラムありパーティション構成で
ファイルをコピーします。
3. パーティションを設定する
パーティション構成の更新コマンドを実?します。
※1 Amazon RedshiftからAmazon Athenaにマイグレートするツールを公開しました
https://dev.classmethod.jp/cloud/aws/amazon-athena-migration-from-amazon-redshift/
55Amazon Redshift Spectrumへ移?の流れ
1. Redshift 外部テーブルを作成する
Redshiftのテーブル定義情報からRedshift
Spectrumのテーブル作成SQLを?動?成して、
テーブルを作成(※2)します。
2. データファイルを配置する
既存のデータファイルは、?次でファイル分割され
ているので、カラムありパーティション構成でファ
イルをコピーします。
3. パーティションを設定する
パーティション構成の更新コマンドを実?します。
※2 Amazon RedshiftからAmazon Redshift Spectrumにマイグレートするツールを公開しました
https://dev.classmethod.jp/cloud/aws/amazon-redshift-spectrum-migration-from-amazon-redshift/
56Amazon Athena のユースケース
? オンデマンドな管理系クエリー
? 様々なログに対してクエリーを実?
? クラスタ構築不要、前払いなし、その場限り
? サーバレスアナリティクスのクエリー
? インスタンスは持たない、使っただけ課?
? QuickSight や Tableau による探索的クエリー
? ?定型(特にJSON)
? SELECTクエリの同時実?性能の確保
? デフォルトは同時実?数「20」ですが、上限緩和可能することでより?
きな同時実?性能の確保できます
57Amazon Redshift Spectrum のユースケース
? DWH 過去データの階層型保管
? 古く、利?頻度の下がったデータをより安価なストレージに移動
? S3データソースとRedshift上の1つのディメンションテーブルの結合
? ELT(Extract → Load → Transform)
? SQL(INSERT SELECT)で効率的にロードした後、Redshift のパワーを
使って変換処理を?える
? 安価&?速な ELT ソリューションとして利?可能
? 低コストと?可?性
? 単?S3バケットを複数の Redshift クラスターで参照可能
? データが巨?な時、データ保持のためだけに?量のノードを持たずに済む
? S3データソースを中?にマルチ AZ 構成が可能
58Athena/Redshift Spectrum を使?した最適化シナリオ
RedshiftとRedshift Spectrumの併?
による、過去データと直近データ(およ
びマスターデータ)の透過的利?
Athena を使?した
アドホックアクセス
Use Amazon EMR or
AWS Glue to transform
and dense the data (ETL)
EMR or
Glue
AWS Lake Formation
セキュアかつ運?管理が容易になるデータレイク?援サービス
60従来のデータレイクの課題
? ?作業によるデータレイク構築は作業量が多い
? データストレージを確保してデータの抽出
? データのクレンジング、前処理、最適なフォーマット出?
? データベース?テーブルの作成、パーティション分割
A Deep Dive on AWS Lake Formation (Now GA!) - AWS Online Tech Talks (https://youtu.be/slaJ6wVVb0c?t=170)
61従来のデータレイクの課題
? セキュアなデータレイク構築ができない
? ユーザーは全てのデータカタログにアクセスできてしまう
? テーブルの参照権限は、S3の参照権限でコントロールのみ
? テーブルにクエリを実?できるユーザは、S3のデータを直接参
照できてしまうため、セキュアな条件下では不向きであった
Glue Data Catalog
データの取得
テーブル定義の取得
SELECT で参照する
データがあります
Amazon
S3
SELECT で参照するメタ
データがあります
62従来のデータレイクの課題
Glue Data Catalog
データの取得
テーブル定義の取得
SELECT で参照する
データがあります
Amazon
S3
SELECT で参照するメタ
データがあります
AmazonAthenaFullAccess S3:GetObjectsAWSGlueServiceRole
? セキュアなデータレイク構築ができない
? ユーザーは全てのデータカタログにアクセスできてしまう
? テーブルの参照権限は、S3の参照権限でコントロールのみ
? テーブルにクエリを実?できるユーザは、S3のデータを直接参
照できてしまうため、セキュアな条件下では不向きであった
63
Lake Formation lets you
build secure data lakes in days.
Tools that enable data engineers, security officers & data
analysts to build, manage and use your data lake.
Lake Formationとは、
数?でセキュアなデータレイクを構築できるサービスです。
データエンジニア、セキュリティ担当者、データアナリストがデータレ
イクを構築、管理、利?できるようにするツールです。
AWS Lake Formationとは
A Deep Dive on AWS Lake Formation (Now GA!) - AWS Online Tech Talks (https://youtu.be/slaJ6wVVb0c?t=456)
64AWS Lake Formation の特?
数?でセキュアなデータレイクを
構築できる Blueprints
/AmazonWebServicesJapan/20191001-aws-black-belt-online-seminar-aws-lake-formation/19
65AWS Lake Formation の特?
ダッシュボードから監視と監査する
Recent access activity
66AWS Lake Formation の特?
SQL ライクな Grant/Revoke で
シンプルなアクセスパーミションの管理
/AmazonWebServicesJapan/20191001-aws-black-belt-online-seminar-aws-lake-formation/20
67AWS Lake Formationのアクセス許可モデル
? IAMを拡張したアクセス許可モデル
? データカタログやS3のデータロケーションへのアクセスはLake
Formationが?元管理する
? 利?者がデータにアクセスするとLake Formationが提供する?
時クレデンシャルを?いてアクセスする
? 例.クエリの実?ユーザーは、Athena経由でテーブルデータ
にアクセスできるけど、データのファイルには直接参照させ
ないことが可能
? 例.「特定のテーブルのみ参照」「特定のカラムのみ参照」と
いったアクセスコントロールが可能
68AWS Lake Formationのアクセス許可モデル
69AWS Lake Formationのアクセス許可
? テーブル/カラムレベルのアクセス管理
/AmazonWebServicesJapan/20191001-aws-black-belt-online-seminar-aws-lake-formation/33
70SQLライクなGrant/Revoke
? コマンド実?は不要
? データベースやテーブル
を指定して権限を付与す
るのみ
71AWS Lake Formation と AWS Glue の関係
A Deep Dive on AWS Lake Formation (Now GA!) - AWS Online Tech Talks (https://youtu.be/slaJ6wVVb0c?t=456)
Glueの機能に対してデータレイクの構築、運?、監視
に必要なセキュリティ強化やBlueprintsを追加
72データレイクにおける役割のIAMユーザ/IAMロールの分類
? Datalake Administrator?データエンジニア(管理者)
? Data lake locations/Data locations の管理
? データベース/テーブルの権限管理
? Datalake Analyst?データ分析者(利?者)
? Amazon Athena や Amazon Redshiftからクエリを実?す
るデータレイク上のテーブルを利?するユーザー
? Workflows:ワークフローの実?ロール
? ワークフロー(クローラ、ジョブ等を含む)の実?ユーザ
73AWS Lake Formation 利?の流れ
? データレイクを利?するIAMユーザ/IAMロールの作成
? Datalake Administrator:データエンジニア(管理者)
? “lakeformation:*” が付与されているIAMユーザ/IAMロールは、Datalake Administrator
追加されている
? Datalake Analyst?データ分析者(利?者)
? Workflows:ワークフロー(クローラ、ジョブ等を含む)の実?ロール
? Data lake locationsにS3パスの登録
? アクセスパーミションを?う対象のS3パスを登録する
? Data locationsにS3パスのアクセス許可を付与
? プリンシパルに対して、Data lake locationsに登録したS3パスにアクセス許可を
与える
? データベースやテーブルが作成できるようになる
? Blueprintsの実?/Datalake Analystへ権限の付与
? BlueprintsはWorkflowsのIAMロールで実?する
? 作成されたテーブルに対するアクセス権限をDatalake Analystに付与する
74データレイク導?テンプレート Blueprints
? データレイクにデータを取り
込むための導?テンプレート
? データベース移??ブループ
リント
? ログファイル?ブループリン
ト
? バルクロードもしくは増分
ロード
? 実際のデータを?いて、素早
く動作を把握したり、PoCに
活?
75Blueprints – AWS CloudTrail / Jobs
? CloudTrailのログパーティション分割して、Parquetファイルを?成
した後、クローラでテーブルを?動作成する
76Blueprints – AWS CloudTrail / Workflow
77Blueprints – AWS CloudTrail / S3 Objects
? 年??毎にパーティションしてファイル出?している
78Blueprints - Database Snapshot / Jobs
? RDS/MySQLにJDBC接続して、Parquetファイルを?成した後、ク
ローラでテーブルを?動作成する
79Blueprints - Database Snapshot / Workflow
80Blueprints - Database Snapshot / S3 Objects
まとめ
82まとめ
? まずはみなさんのデータとLake FormationのBlueprints
を?いてPoCをおすすめします
? Blueprintsで?成されるジョブやコードはあくまでもサン
プルです
? 既存のデータレイクは、セキュアなLake Formationの
Grant/Revokeの仕組みを導?を検討ください
? データをDWHだけではなく機械学習/ディープラーニング
や様々なオープンソースのエコシステムとの連携
? AWSのデータレイクは、読み取りデータ量の削減=パ
フォーマンス増加&コスト低下
83参考?献
? Developers.IO – 特集カテゴリー
https://dev.classmethod.jp/referencecat/aws-redshift/
https://dev.classmethod.jp/referencecat/aws-athena/
https://dev.classmethod.jp/referencecat/aws-glue/
https://dev.classmethod.jp/referencecat/aws-lake-formation/
? A Deep Dive on AWS Lake Formation - AWS Online Tech Talks
https://youtu.be/slaJ6wVVb0c
? Amazon Athena のパフォーマンスチューニング Tips トップ 10
https://aws.amazon.com/jp/blogs/news/top-10-performance-tuning-tips-for-amazon-athena/
? Amazon Redshift Spectrum 10 のベストプラクティス
https://aws.amazon.com/jp/blogs/news/10-best-practices-for-amazon-redshift-spectrum/
84

More Related Content

Developers.IO 2019 Effective Datalake