2016-10-24 14 views
1

Cognosを初めて使用し、Hive JDBCドライバを使用してHadoop上でレポートを作成しようとしています。私はJDBC経由でHiveに接続でき、レポートを生成することができますが、ここでは非常に遅いです。私はDB2との接続中に同じ仕事をしました。データはHadoopと同じです。レポートはHiveの上のレポートと比較して非常に迅速に実行されました。私はHadoopとDB2の両方で同じデータセットを使用していますが、なぜHadoop上のレポートが非常に遅いのか理解できません。 Hadoopを疑似分散モードでインストールし、JDBC経由で接続しました。HiveデータソースのCognosレポートは非​​常に遅いですか?

私は、フィックスパック11、

  • のApache Hadoopの2.7.2、
  • のApache Hiveの0.12で、私が使用しているソフトウェアの次のバージョン、

    • IBM Cognosの10.2.1をインストールしました。

    両方とも、Windows 7の上にCognos、Red Hatの上にHadoopがインストールされています。

    CognosまたはHadoopのセットアップでどこが間違っているかを教えてください。 Hadoopの上にあるCognosのレポート実行時間を短縮する方法はありますか?

  • +0

    ハイブは、一般的にRDBMSよりも遅くなります。 Hiveで直接クエリをテストしましたか? – Andrew

    +0

    レポートが非常に遅いために速度を上げる方法はありますか?単純なレポートでは2〜3分かかります –

    答えて

    1

    仮想分散モードでHadoopをインストールしたとしたら、1台のサーバでのみ稼動していると言いますか?もしそうなら、それは決してDB2ほど高速になることはありません。 HadoopとHiveは、クラスタ上で動作し、スケーラブルに動作するように設計されています。クラスタ内で3台または4台のサーバを稼動させると、大規模なデータセットに比べて印象的なクエリ速度が見えることがわかります。

    Cognos Query ServiceがJavaヒープのデフォルトメモリ容量(http://www-01.ibm.com/support/docview.wss?uid=swg21587457)を超えてアクセスできるようになっていることを確認します。現在、8Gbの初期サイズと最大12Gbを実行していますが、

    次の問題は、CognosがHive SQLの仕様(または私が使用しているImpala)を知らないことです。これは、非基本的な問合せがselectからselectに変換されることを意味します。大きな欠落部分はwhere句になります。これは、CognosがHiveテーブルのすべてのデータを吸い上げて、それが所属するHiveに渡すのではなく、Cognosでフィルタリングを実行しようとしていることを意味します。 Cognosは、DB2 SQLとすべての仕様を記述して、そのワークロードを通過できるようにしています。

    より複雑なクエリやプラットフォーム固有の関数などは一般的にHive(日付関数、解析関数など)に渡されないので、フィルタに必要なようにデータとクエリを構造化してみてください。

    Hiveクエリログを使用して、Cognosが実行しているクエリを監視します。また、クエリにフィールドを追加し、そのフィールドをモデルからフィルタに直接送るのではなく、フィルタにドラッグするようなことを試してみてください。私はこれがCognosにwhere句にフィルタを含めるのを助けることができることを発見しました。

    もう1つの選択肢は、Report StudioでパススルーSQLクエリを使用し、すべてをHiveのSQLに書き込むことです。私はちょうど500万行のファクトテーブルからトップ5のスタックを必要とする一連のダッシュボードに対してこれを行った。 5行の場合、Cognosは5百万行をすべて抽出してから、Cognos内でそれらをランク付けしていました。これを何度もやって、突然のコグノスのすべてが苦闘するだろう。パススルー問合せを使用すると、Impala Rank()関数を使用して5行しか取得できず、DB2が適切な(しかし小さな)クラスタで実行されているのを見るよりもはるかに高速で高速です。

    ハイブのもう1つの考慮点は、Map Reduceでハイブを使用するか、TEZでハイブを使用するかです。同僚が見つけたことから、TEZ上のHiveは、Map Reduce上のHiveよりもCognosが実行するクエリのタイプがずっと高速です。

    関連する問題