10

Hadoop の学習を始めたばかりで、いくつかのサイトを調べたところ、よくあることがわかりました。

SOでも「Hadoopはリアルタイムプラットフォームではない」

私はこれをいじり、本当に理解できません。誰でも私を助けて、これについて説明してもらえますか?

皆さんありがとう

4

1 に答える 1

24

Hadoop は当初、バッチ処理用に設計されました。つまり、大量のデータセットを一度に入力して処理し、大量の出力を書き込みます。MapReduce の概念そのものが、リアルタイムではなくバッチを対象としています。しかし、正直なところ、これは Hadoop の初期のケースに過ぎず、現在ではよりリアルタイムな方法で Hadoop を使用する機会がたくさんあります。

まず、リアルタイムとは何かを定義することが重要だと思います。ストリーム処理に興味があるかもしれませんし、リアルタイムで結果を返すデータに対してクエリを実行したいかもしれません。

Hadoop でのストリーム処理の場合、ネイティブの Hadoop はこの種の機能を提供しませんが、他のプロジェクトを Hadoop と簡単に統合できます。

  • Storm-YARNを使用すると、YARN を介して Hadoop クラスターで Storm を使用できます。
  • Sparkは HDFS と統合して、ストリーミング データをリアルタイムで処理できるようにします。

リアルタイム クエリの場合、Hadoop を使用するプロジェクトもいくつかあります。

  • Cloudera のImpalaは HDFS を使用しますが、オーバーヘッドが大きすぎるため、MapReduce を完全にバイパスします。
  • Apache Drillは、Hadoop と統合してリアルタイムのクエリ機能を提供する別のプロジェクトです。
  • Stingerプロジェクトは、Hive 自体をよりリアルタイムにすることを目指しています。

「Hadoop をリアルタイムにする」のリストに当てはまるプロジェクトは他にもあると思いますが、これらは最もよく知られているものです。

ご覧のとおり、Hadoop はますますリアルタイムの方向に向かっており、たとえそれがそのように設計されていなかったとしても、リアルタイムの目的のために拡張する機会はたくさんあります。

于 2013-10-28T06:53:04.380 に答える