0

Hive は Java Map Reduce ジョブに抽象化レイヤーを提供するため、Java Map Reduce ジョブと比較するとパフォーマンスの問題が発生するはずです。

Do we have any benchmark to compare the performance of Hive Query & Java Map Reduce Jobs ? 

実行時データを使用した実際のユースケースのシナリオは、本当に役に立ちます。

ありがとう

4

3 に答える 3

6

「Java Map Reduce Jobs と比較した場合、パフォーマンスに問題があるはずです」という前提。間違っている......

Hive (および Pig と crunch およびその他の map/reduce 抽象化) は、完全に調整された手書きの map/reduce よりも遅くなります。

ただし、Hadoop と map/reduce の経験がない限り、作成する map/reduce は、Hive などと比較して、重要なクエリで遅くなる可能性があります。アル。しましょう

于 2013-01-16T15:02:56.850 に答える
1

しばらく前に VM でいくつかの小さなテストを行いましたが、実際には違いに気付くことができませんでした。場合によっては Hive が数秒遅くなることもありましたが、それが Hives のパフォーマンスによるものなのか、メモリ不足のために VM がハングしていたのかはわかりません。覚えておくべきことの 1 つは、Hive が常に MapReduce ジョブを実行する最速の方法を決定するということです。さて、小さな MapReduce ジョブを作成すると、おそらく最速の方法を自分で見つけることができるでしょう。しかし、大規模で複雑なジョブ (結合など) では、常に Hive と競合できますか?

また、複数のクラスとメソッドの MapReduce ジョブを作成するのに必要な時間は、HiveQL クエリを作成するのに比べてかなり時間がかかるようです。

一方で、自分で仕事を書いたほうが、何が起きているのかが分かりやすい気がしました。

于 2013-01-16T09:37:08.610 に答える
0
  1. マシンに小さなデータセットがあり、Apache Hive を使用して処理したい場合、Hadoop MapReduce を使用して同じデータセットを処理する場合と比較して、小さなデータセットでのジョブの実行は遅くなります。小さなデータセットを考慮すると、ハイブのパフォーマンスがわずかに低下します。一方、大規模なデータセットの場合、Apache Hive のパフォーマンスは MapReduce よりも優れています。

  2. MapReduce でデータセットを処理している間、データセットは HDFS に保存されます。Hive にはメタストアがあるため、MapReduce には独自のデータベースはありません。Hive のメタストアから、Impala、Beeline、JDBC、および ODBC ドライバーとデータを共有できます。

于 2016-01-30T07:53:43.317 に答える