Cloudera Navigator Optimizerのベータ版提供を終了し、一般リリースを (GA) 開始

投稿:2016年7月29日 Ewa Ding
Categories: Cloud Cloudera Navigator Hadoop

今回の新たなリリースでは、ユーザー、アプリケーション、レポーティングから類似するクエリ別に分解したワークロードを「スライス&ダイス」する機能や、Apache HiveやApache Impala(Incubating)向けにアラートを発信する機能が追加されています。

Cloudera Navigator Optimizerによって、データベースアーキテクトやデータベースアドミニストレータ (DBA) は、Apache Hadoopのデーウェアハウス環境で稼動するSQLワークロードを詳細に把握することができるようになります。また、Navigator Optimizerでオフロードプロジェクトのリスクを評価し、より正確なオフロード計画を事前に策定することで、開発コストを削減することができます。さらに、オフロードを成功裏に完了させ、HadoopでアクティブなSQLワークロード管理ができるよう最適化すべき内容をアドバイスします。

昨年の11月に限定されたベータリリースとなって以来、Clouderaは、様々なユースケースでお客様の関心事項について調査を進めてきました。また、お客様のETL処理やBIレポート、アドホックなワークロードをClouderaのHadoopプラットフォームにオフロードするための支援を行ってきました。既にClouderaのプラットフォームで稼動しているワークロードについては、その稼動状態把握や潜在的リスクの特定、予めデータデータモデルを最適化して将来の多様なデータニーズに対応できるようにするなどの支援を行ってきました。

今回、Cloudera Navigator Optimizerを一般リリースできることを大変嬉しく思っています。このポストでは、ワークロードのオフロード作業をより迅速化し、Hadoop SQLワークロードのアクティブな管理にも役立つ2つの重要なユースケースに加え、本ツールの将来についても触れることにします。

Cloudera Navigator Optimizerで効率的にオフロードを実施するためには

多くの企業が、オフロードプロジェクトに多大なリソースと予算をつぎ込んでいます。エンタープライズデータウェアハウスシステムや従来の分析データベースのワークロードは、毎日のように数百万のクエリを処理しています。主要なクエリに埋め込まれた数千行ものSQLコードは非常に複雑で、人間が理解することは容易ではありません。まして、全てのワークロードを手作業で解析することは非現実的です。例えば、数万のクエリが、何回サブクエリを実行しているか特定するためには、少なくとも数ヶ月を要することでしょう。

Cloudera Navigator Optimizerは、ワークロードの主な特性を瞬時に分析することで、開発に必要な時間やオフロードに必要なコストを激減します。重複あるいは類似するクエリを特定できるため、解析対象となるクエリ数を減らすことが可能です。JOINのパターン、クエリブロック、フィルタ、GROUP BY句などがグラフィカルに表示され、状態をひと目で把握できます。ワークロード全体で顕著に見られるアクセスパターンについてはプロファイリングが行われます。Cloudera Navigator Optimizerは、HiveやImpalaと互換性があるワークロードのシンタックスを判別します。オフロード先のプラットフォームで問題が生じるようなシンタックスの相違があれば、該当するクエリテキストがハイライト表示され、シンタックスの修正に必要な時間を大幅に短縮することができます。

オフロード計画のための高度なリスク評価

個々のクエリにだけ注目してもオフロードを成功させることはできません。この代わりに、レポートやアプリケーション、ユーザー、ETLワークフローなどをオフロードの基本単位と見なします。オフロードを想定通りに進めるためには、どの程度のクエリグループが容易にオフロード可能で、複雑な場合はどんな変更が必要かを事前に理解しておくことが重要です。

クエリのログをCloudera Navigator Optimizerにアップロードする場合、属性を指定することで業務に応じてクエリのグルーピングを行うことができます。例えば、ユーザー単位でオフロードが可能かどうか評価する場合、クエリファイルにユーザーカラムを追加し、各クエリとユーザーをマップします。ツールはクエリの複雑さや、特定のHadoopプラットフォーム(HiveまたはImpala)との互換性を診断し、各クエリグループのリスク評価を行います。この機能を「ワークロード・スライス&ダイス(Workload Slice & Dice)」と呼んでいます。

ワークロード・スライス&ダイスの結果によって、そのクエリグループのリスクが低いかどうかを判定します。これが低ければ移行のための開発作業が少なくて済むことになります。リスクの低いグループは、最初にPOCを実施するか、あるいは経験的なオフロードプロジェクトを実施する有力な候補となります。開発労力が大きく高リスクな「スライス」の場合、十分な時間とリソースの配分を計画できるよう、リスクが生じる根本的な原因を詳細に分析できます。

リスクの詳細な分析

お客様は、クエリグループを詳細に分析し、関連する全てのリスクやクエリのオフロードにどんな対応が必要かを理解することができます。最適化の方法が提案されることで、お客様はHadoopに最も適したデザインのデータモデルを選択できます。

Cloudera Navigator Optimizerは、ターゲットとなるプラットフォームがサポートしていないクエリ、または問題を引き起こすような複雑な操作や機能が含まれるクエリを高リスク対象としてリストアップします。中程度のリスクに対するアラートは、ある程度の変更でパフォーマンスが向上するものの、必ずしもHadoopで稼動させる必要のないクエリであることを示しています。Cloudera Navigator Optimizerでは、リスクタイプに応じてその修正方法を提案します。お客様は、パーティショニングキーの設定、非正規化、インラインビューのマテリアライズ、テーブルの集約など、それぞれのメリットに応じて最適化推奨内容を評価できます。

Cloudera Navigator Optimizerを使用したSQLワークロードの管理

HiveやImpalaのワークロードを瞬時に可視化

既にHadoop上でSQLクエリを実行しているワークロードに対し、どんなクエリがHiveやImpalaクラスタ上で実行されているかについては、Cloudera Navigator Optimizerが瞬時に関連情報を提供します。DBAは、これらの情報をもとに「今どんなクエリが動いているのか?」「複雑さはどの程度か?」「トップユーザーは誰か?」「テーブルやカラムはどう使用されているのか?」といった質問に答えることができます。またDBAは、実行に長時間を要する問題のあるクエリを特定したり、遅延発生の可能性を評価して問題を修正し最適化するためのアドバイスを受けることができます。例えば、よくあるフィルタ無しのクエリは、コーディングの改善や最適化によって解決が可能な問題です。DBAは、リスクの高いクエリの詳細な分析によって、データモデルを最適化する方法を発見および評価し、Hadoop上のクエリの効率を改善することができます。

Cloudera Navigator Optimizerを活用することで、Hadoopにおける適切なツールのための適切なワークロードを決定できます。例えば、Hive上の分析ワークロードをImpalaに移行したいという場合(ブログのポスト「ジョブのための適切なツールの選択(Tool for Job)」を参照)、Cloudera Navigator Optimizerによってシンタックスの互換性とプラットフォームの適合性を分析することで、移行手順を迅速化することができます。

定常的にデータを変更する必要があったり、プラットフォームのベストプラクティスに必ずしも従っていないクエリがあるような環境では、ワークロードの遅延を避けるため、Cloudera Navigator Optimizerを使ってその利用状況を把握し、事前に最適化を行うことが重要です。

今後について

GAリリースは、お客様がSQLワークロードを効率的にオフロードし、Hadoopで最大のパフォーマンスを発揮できるようにするための大きな一歩と言えます。しかし、これは今可能な事柄のほんの一部にしか過ぎません。今後の予定について少しだけ触れることにします。

包括的な最適化提案

Clouderaでは、非正規化やアップデート機能など、最適化機会や推奨事項を提示する機能を今後も引き続き強化していきます。また、単に最適化の機会を提示するだけでなく、お客様が開発コストとメリットを比較しながら推奨事項を評価し、包括的な最適化方針を策定できるようにします。

統合エクスペリエンスを全てのユーザーに提供

Clouderaのクエリに関する深い知識と、Cloudera Navigator Optimizerによって、Clouderaプラットフォームの他のツール間の連携がさらに深まり、様々なユーザーグループに対して、より優れたエクスペリエンスを提供することができます。例えば、Cloudera Navigatorのメタデータ分析機能を統合することで、DBAがHiveやImpalaのワークロードをより効率的に、そしてアクティブに管理できるようになります。またSQL開発者は、Cloudera Navigator Optimizerの分析結果を利用することで、Hueなどの開発インタフェースからメタデータやその利用状況を把握し、業務環境に移行する前にリスクのあるクエリを回避することが可能になります。

適切なユーザーライセンスをお持ちのお客様は、今すぐCloudera Navigator Optimizerをoptimizer.cloudera.comからダウンロードすることができます。新しいツールについての詳細や、Cloudera Enterpriseで分析データベースを強化する方法をご理解したい皆様は、Webinarシリーズへの登録をお願いいたします。

Ewa Dingは、Clouderaの製品管理担当ディレクターです。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.