2017-05-17 8 views
-3

私はほぼ同じ数のレコードを持つハイブで2つのテーブルに参加しようとしています。クエリの実行に時間がかかります。 なぜハイブでJOINSを実行するのに時間がかかりますか? レコード数は両方のテーブルで約50kです。なぜHIVE結合では実行にかなりの時間がかかりますか?

+0

なぜこの質問が下されたのですか?質問を改善する方法についての有益なコメントを追加してください。私の5セント:詳細を追加してください:クエリー、実行時間、クエリープラン – leftjoin

答えて

-1

ハイブクエリは内部的にマップリダクションに変換され、実行には数分かかるので実行されます。パフォーマンスを向上させるさまざまな方法があります。クエリのパフォーマンスを向上させるには、linkに従ってください。

ハイブまたはHadoopを使用する主な理由は、大量のデータを処理するためです。したがって、巨大なデータを扱う際に、他のリレーショナルデータベースと比べてはるかに大きなパフォーマンスが得られます。しかし、おそらくあなたが言及しているデータの量は、ハイブの良いユースケースではありません。

+0

map reduceは少数のレコードではなく、私が行っているジョインは巨大なデータセットのサブセットです。このデータは、巨大なデータセットからのフィルタリングされたデータです。しかし、私は1つのセットを得るために2つのテーブルに加わる必要があります。 – v83rahul

+0

ハイブでのデータの結合は絶対にうまくいきます。コメントでここで言及していることから、私はあなたのレコードをフィルタリングするフィルタリング基準を持っていると推測しています。したがって、テーブルを作成する際に参加する列に基づいてパーティションとバケットを使用することができ、パフォーマンスがさらに向上します。 –

関連する問題