Tableau Conference 2016 at Austin [レポート]TableauとAWSクラウドでビッグデータ・ワークフローを加速する #data16
Tableau Conference 2016@Austinのセッション参加レポート:7本目は「Accelerating your Big Data Workflow with Tableau and AWS Cloud」(ハンズオン・セッション)の紹介をしていきます。
セッションの紹介文は下記の通りです。
With Amazon Web Services and Amazon Redshift, you can create a massively scalable, cloud-based data warehouse in just a few clicks. With the real-time responsiveness of Tableau, you can gain insights from that data just as easily. Tableau connects to Amazon Redshift natively for flexibility, scalability, and accelerating results. In this session, you’ll learn how to use Amazon Redshift and Tableau together in AWS cloud to perform analysis on your data. We’ll also cover other services in the AWS ecosystem like Amazon RDS, Amazon Aurora and Amazon EMR that you can leverage for all you data and analysis needs. Please bring your own laptop to follow along with the hands-on exercises. |
Why AWS for "Data"?
- なぜAWSで「Data」分析するのか?
- 即座に利用可能
- 幅広い機能
- スケーラブル
- AWSのビッグデータ・エコシステム
- Amazon EMR
- Amazon RDS
- Amazon Elasticsearch Service
- Amazon DMS
- Amazon S3
- Amazon Machine Learning
- Amazon Redshift
- Amazon Quicksight
- Amazon Kinesis Analytics
- Amazon Kinesis Streams
- AWS Lambda
Redshift: A primer
- Redshift入門
- Amazon Redshift
- リレーショナル・データ・ウェアハウス
- 超並列、ペタバイト・スケール
- フルマネージド
- HDD、SSDプラットフォーム
- 1TB、年間1000ドル
- 1時間0.25ドルでスタートできる
- AWSの様々なサービスで発生するデータを、Redshiftに集約する
- Redshift クラスターアーキテクチャ
- 超並列、シェアードナッシング
- リーダーノード
- SQLエンドポイント
- メタデータを保管
- 並列SQL処理をコーディネート
- コンピュートノード
- ローカルのカラムナー・ストレージ
- クエリを並列実行
- ロード、バックアップ、リストア
- I/O削減のためのデザイン
- カラムナー・ストレージ
- データ圧縮
- ゾーンマップ
- 図:ローストレージでdtにアクセスすると
- すべてを読み込む必要がある
- 不要なI/Oが発生
- 図:カラムナーストレージでdtにアクセスすると
- 該当の列のブロックだけスキャンする
- データ圧縮
- 列は、個別に増えたり減ったりする(他の列の影響を受けない)
- データの内容に従って、効果的な圧縮
- ストレージの必要量を削減
- I/Oを削減
- ゾーンマップ
- ブロックのメタデータをインメモリで保持
- ブロックごとの最小値、最大値を保持
- 不要なI/Oを削減
- ビッグデータ分析のためにデザインされている(OLTP向けではない)
- 大きな書き込みに最適化されている
- バッチ処理システム(巨大なデータを処理するのに最適化)
- フラグメンテーションが起きないように、1MB超の不変ブロックを使い、書き込み時にブロックをコピーする
- 小さなサイズの書き込み(1〜10行)も大きなサイズの書き込み(10万行以上)と同じだけのコストがかかる
- UPDATEとDELETE
- 不変ブロックを使うと、UPDATEとDELETEは行を論理削除することになる
- 削除マークされた行をテーブルから除去するのにVACUUMを実行する必要がある
- 大きな書き込みに最適化されている
- Redshiftは既存の分析ツールを利用可能(JDBC/ODBC経由で)
- 2013年の2月にリリースされ、2016年11月現在では、
- 100以上の重要なパッチが適用
- 130の重要な新機能が追加された
- 最近ローンチされた機能
- パフォーマンス
- 動的WLMパラメータ
- タイムアウトしたクエリを別キューに転送
- Merge rows from staging to prod. table (具体的な機能名がわかりませんでした。ご存知の方はよろしければコメントでお知らせください。)
- クエリのスループットを最大2倍高速化
- UNION ALLクエリのレイテンシーを最ヂア10倍高速化
- 使いやすさ
- データロードの際にbzip2圧縮をサポート
- テーブル単位のリストア
- VACUUMを最大10倍高速化
- セキュリティ
- デフォルトのアクセス権
- タグベースのIAMアクセス
- COPY/UNLOADのIAMロール
- SOA
- DMS(Database Migration Service)でOLTPデータソースをサポート
- Kinesis Firehoseからのデータ取得の機能強化
- Amazon ML(Machine Learning)へのデータスキーマ変換を改良
- 分析機能
- SASコネクターの機能強化
- SASクエリからRedshiftのクエリへの暗黙的な変換
- パフォーマンス
ハンズオンへ
- ハンズオンのマニュアル
- ハンズオン用のアカウントを発行してもらい初期画面にアクセスします。
- AWSアカウントを作成
- 画面の内容で、AWSに接続します。
- 接続できました。
- Redshiftのクラスタは作成済みです。
- EC2インスタンスに、リモートデスクトップで接続します。
- Tableauをインストールします。
- Tableauを起動し、Redshiftに接続します。
- Redshift上のテーブルをジョインします。対象データは飛行記録のデータです。
- 飛行機の飛行記録のデータが地図上にプロットされました。
- Tableauを操作して、ビューの内容を調整して終了です。(自画面の写真を取ってませんでした。1時間という限られた時間でのハンズオンなので、Tableauを操作している時間が短かったですね。)
Tableauサーバのインストールの自動化
こんなスクリプト集も紹介されていました。(対象は、Tableauサーバです)
https://github.com/tableau/server-install-script-samples
最後に
この記事では、AWS上でRedshiftを起動し、Tableauから利用するハンズオンセッションをご紹介しました。導入部のRedshiftの紹介のスライドは、Redshiftをかいつまんで理解するのに役に立ちそうです。