2017-03-27 4 views
0

Hadoopのような分散システムでハイブクエリを実行する方法を知る必要があります。私は他の質問をチェックしましたが、どれも詳細に説明されていません。ハープープでハイブクエリを実行する方法

私は完全な実行プロセスを探しています。ハイブ・ジョイン・クエリーが単純なselectクエリーよりも時間がかかる理由を知りたいのですが。

ハイブの実行プロセスを知っている人は誰でも説明してください。

PS:私はHadoopフレームワークとしてhortonworksデータプラットフォームを使用しています。

+0

誰かがハイブクエリプロセスのための良いドキュメントのリンクを提供できるなら、非常に役に立つでしょう。 – techprat

答えて

0

ユーザが提出したSQLクエリは、Hiveによって最適化され、Tez Jobsに変換された物理演算子ツリーに変換され、Hadoopクラスタ上で実行されます。 Hadoopの分散SQLクエリ処理は、中間結果セットの処理に関して従来のリレーショナルクエリエンジンと異なります。 Hiveクエリ処理では、中間結果セットのソートと再アセンブリが必要になることがよくあります。これはHadoopの言葉でシャッフルと呼ばれています。

Hiveの既存のクエリ最適化のほとんどは、シャッフルコストを最小限に抑えることです。現在、クエリを効率的に実行するためには、最適なクエリをHiveにサブミットする必要があります。 Hiveの論理的最適化は、フィルタのプッシュダウン、投影プルーニング、およびパーティションプルーニングに限定されています。コストベースの論理最適化により、Apache Hiveのクエリ待ち時間と使いやすさが大幅に向上します。

並べ替えと結合アルゴリズムの選択は、コストベースのオプティマイザの恩恵を受けることのできる最適化のいくつかです。コストベースのオプティマイザを使用すると、ユーザーは正しい順序で結合を再配置する必要がなくなります。また、クエリのヒントと構成オプションを使用して結合アルゴリズムを指定する必要がなくなります。これにより、ユーザーは問合せの最適化を心配することなく、ビジネス・プロセスに近いレポートやETLをモデル化することができます。

wikiを読んで、それはあなたの後になっている。コードに関する特定の質問がある場合は、あなたが試したものと達成したいものを投稿してください。

関連する問題