Tableau Conference 2016 at Austin [レポート]TableauとAWSクラウドでビッグデータ・ワークフローを加速する #data16

2016.11.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Tableau Conference 2016@Austinのセッション参加レポート:7本目は「Accelerating your Big Data Workflow with Tableau and AWS Cloud」(ハンズオン・セッション)の紹介をしていきます。

title

セッションの紹介文は下記の通りです。

 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.

P_20161109_150848_vHDR_Auto P_20161109_150732_vHDR_Auto P_20161109_151011_vHDR_Auto

 

P_20161109_150559_vHDR_Auto

P_20161109_151200_vHDR_Auto

Why AWS for "Data"?

  • なぜAWSで「Data」分析するのか?

thumb_CIMG9764_1024

  • 即座に利用可能
  • 幅広い機能
  • スケーラブル

thumb_CIMG9765_1024

  • 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

thumb_CIMG9771_1024

Redshift: A primer

  • Redshift入門

thumb_CIMG9772_1024

  • Amazon Redshift
    • リレーショナル・データ・ウェアハウス
    • 超並列、ペタバイト・スケール
    • フルマネージド
    • HDD、SSDプラットフォーム
    • 1TB、年間1000ドル
    • 1時間0.25ドルでスタートできる

thumb_CIMG9773_1024

  • AWSの様々なサービスで発生するデータを、Redshiftに集約する

thumb_CIMG9778_1024

  • Redshift クラスターアーキテクチャ
  • 超並列、シェアードナッシング
  • リーダーノード
    • SQLエンドポイント
    • メタデータを保管
    • 並列SQL処理をコーディネート
  • コンピュートノード
    • ローカルのカラムナー・ストレージ
    • クエリを並列実行
    • ロード、バックアップ、リストア

thumb_CIMG9779_1024

  • I/O削減のためのデザイン
    • カラムナー・ストレージ
    • データ圧縮
    • ゾーンマップ
  • 図:ローストレージでdtにアクセスすると
    • すべてを読み込む必要がある
    • 不要なI/Oが発生

dt1

  • 図:カラムナーストレージでdtにアクセスすると
    • 該当の列のブロックだけスキャンする

dt2

  • データ圧縮
    • 列は、個別に増えたり減ったりする(他の列の影響を受けない)
    • データの内容に従って、効果的な圧縮
    • ストレージの必要量を削減
    • I/Oを削減

thumb_CIMG9783_1024

  • ゾーンマップ
    • ブロックのメタデータをインメモリで保持
    • ブロックごとの最小値、最大値を保持
    • 不要なI/Oを削減

thumb_CIMG9784_1024

  • ビッグデータ分析のためにデザインされている(OLTP向けではない)
    • 大きな書き込みに最適化されている
      • バッチ処理システム(巨大なデータを処理するのに最適化)
      • フラグメンテーションが起きないように、1MB超の不変ブロックを使い、書き込み時にブロックをコピーする
      • 小さなサイズの書き込み(1〜10行)も大きなサイズの書き込み(10万行以上)と同じだけのコストがかかる
    • UPDATEとDELETE
      • 不変ブロックを使うと、UPDATEとDELETEは行を論理削除することになる
      • 削除マークされた行をテーブルから除去するのにVACUUMを実行する必要がある

thumb_CIMG9785_1024

  • Redshiftは既存の分析ツールを利用可能(JDBC/ODBC経由で)

thumb_CIMG9786_1024

  • 2013年の2月にリリースされ、2016年11月現在では、
    • 100以上の重要なパッチが適用
    • 130の重要な新機能が追加された

thumb_CIMG9788_1024

  • 最近ローンチされた機能
    • パフォーマンス
      • 動的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のクエリへの暗黙的な変換

thumb_CIMG9789_1024

ハンズオンへ

thumb_CIMG9790_1024

  • ハンズオンのマニュアル

thumb_CIMG9776_1024

  • ハンズオン用のアカウントを発行してもらい初期画面にアクセスします。

thumb_CIMG9757_1024

  • AWSアカウントを作成

thumb_CIMG9791_1024

  • 画面の内容で、AWSに接続します。

thumb_CIMG9792_1024 thumb_CIMG9793_1024

  • 接続できました。

thumb_CIMG9794_1024

  • Redshiftのクラスタは作成済みです。

thumb_CIMG9795_1024

  • EC2インスタンスに、リモートデスクトップで接続します。

thumb_CIMG9803_1024

  • Tableauをインストールします。

thumb_CIMG9815_1024

  • Tableauを起動し、Redshiftに接続します。

thumb_CIMG9823_1024

  • Redshift上のテーブルをジョインします。対象データは飛行記録のデータです。

thumb_CIMG9831_1024

  • 飛行機の飛行記録のデータが地図上にプロットされました。

thumb_CIMG9837_1024

  • Tableauを操作して、ビューの内容を調整して終了です。(自画面の写真を取ってませんでした。1時間という限られた時間でのハンズオンなので、Tableauを操作している時間が短かったですね。)

thumb_CIMG9840_1024

Tableauサーバのインストールの自動化

こんなスクリプト集も紹介されていました。(対象は、Tableauサーバです)

https://github.com/tableau/server-install-script-samples

thumb_CIMG9824_1024

最後に

この記事では、AWS上でRedshiftを起動し、Tableauから利用するハンズオンセッションをご紹介しました。導入部のRedshiftの紹介のスライドは、Redshiftをかいつまんで理解するのに役に立ちそうです。