Tableau と Hadoop の5つのベストプラクティス


概要: 

Tableau は、複数のデータプラットフォームのデータをリアルタイムに使用して分析できるように設計されています。従来のツールを使いにくいと感じてきたビジネスユーザーは、この手法に注目しています。では、クエリが返ってくるまでの時間が秒単位ではなく分単位、時間単位だったら、どうなるでしょうか。それでも「フロー」、つまり分析の流れは維持できるのでしょうか。

今や、何百万あるいは何十億という行数のデータでさえ簡単な操作で分析できる時代になり、ユーザーはほとんど瞬間的に検索結果が返ってくることを期待しています。ユーザーの操作と応答に2、3秒より長くかかるようであれば、ビジュアル分析の「流れ」が途切れたように感じられてしまいます。したがって、ユーザーを常に引きつけておくためには、高速クエリを実現しビッグデータからより多くの有意義なインサイトを引き出せるような環境を用意することが不可欠です。

多くのベストプラクティスを応用すれば、ユーザーはビッグデータのプラットフォーム上に構築した Tableau のビジュアライゼーションとダッシュボードのパフォーマンスを最大限に引き出すことができます。そのためのベストプラクティスは、次の5つに大別されます。

  1. 高速かつインタラクティブなクエリエンジンの活用
  2. ライブ接続と抽出の戦略的な使い分け
  3. データレイクからのデータの作成
  4. 抽出の最適化
  5. 接続パフォーマンスのカスタマイズ

本ページではホワイトペーパーの一部をお読みいただけます。全ページをお読みいただくには、右にあるボタンで PDF をダウンロードしてください。


1. 高速かつインタラクティブなクエリエンジンの活用

MapReduce を使用して Hadoop 上で実行される Hive クエリは、SQL クエリを MapReduce ジョブにマッピングする際に生じるオーバーヘッドがあるため、基本的に低速です。Hive on MapReduce は、フォルトトレランス性が高く、ETL アプリケーションのようなバッチ処理の実行には適していますが、パフォーマンスの点では不利になります。Hive のアップデートで、Tez (インタラクティブクエリ機能) や Spark (インメモリ処理の機能) といった新しいアプリケーションが導入され、クエリ速度は大幅に向上しました。

Hive on Hadoop 以外にも、クエリを高速化する優れたオプションが多数あります。最近のベンチマークによると、Impala が Hadoop で最速のパフォーマンスを誇ることは広く知られています。まだ開発初期の段階ながら、Spark SQL は高速データ処理エンジンとしての潜在能力の高さを示しています。Spark SQL では、Hadoop または Spark のスキーマ RDD に格納され、Hive のメタストアによって参照されるデータを処理できます。Impala も Spark SQL も、Tableau ではコネクタを用意しサポートしています。Pivotal HAWQ、Presto、Apache Drill も、Hadoop におけるパフォーマンスを語る上で頻繁に話題にのぼるようになったテクノロジーです。

もう1つのオプションとして、Hadoop の外にも目を向けてみましょう。Actian Vector、HP Vertica、Teradata Aster Data、SAP Hana、ParAccel、Pivotal Greenplum といった高速分析データベースは、Tableau ビジネスユーザーにとってクエリの遅延が少ないという点で、Hadoop での処理後のデータをホストする場所として最適です。クラウドでのホスティング型インフラストラクチャサービスも、ますます一般的になりつつあります。Google BigQuery が利用する Google のインフラストラクチャは巨大であり、特に大規模なデータセットでのデータ処理と高速クエリ機能で威力を発揮します。一方、Amazon Redshift は、高速データアクセスに重点を置いた完全マネージド型の列指向ストレージデータウェアハウスです。また、スタートアップやオープンソースのプロジェクトからも新しいテクノロジーが生まれています。Hadoop に OLAP キューブを利用したり (AtScale、eBay Kylin)、インデックス作成エンジンを利用したり (JehtroData) して、短い待ち時間で 100 万行以上のクエリを可能にするテクノロジーです。

2. ライブ接続と抽出の戦略的な使い分け

Tableau は、ライブでデータソースに接続することも、インメモリの抽出を介して Tableau のデータエンジンに接続することもできるハイブリッドなデータアーキテクチャを採用しているので、極めて柔軟にビッグデータを扱うことができます。抽出は、高速クエリエンジンを利用できない場合、小・中規模のデータセット (数億行以下) の場合、あるいはオフライン分析が必要な場合に理想的です。大規模なデータセットの場合は、分散処理を行う Hadoop Hive やその他のクエリエンジンが、Tableau のデータエンジンよりも適しています。また、高速データベースエンジンを利用できる、あるいはリアルタイム分析が必要な場合には、ライブ接続のほうが適しています。

さらに詳しく読みたい方は、 ホワイトペーパーをダウンロードしてください。

続きを読む...

こちらもご覧ください