0

XBus と呼ばれるデータ集約プラットフォームを使用しています。最初に紹介する必要があります。XBus は、RDBMS、XML ファイル、JSON ファイル、Web サービスなど、さまざまな種類のデータ ソースを集約します。ユーザーは、結合、並べ替え、フィルター、結合、グループ化などの多くの操作を含むデータ プロセス フローを定義できます。そして、その流れが XQuery スクリプトに変換されます。SAXON (XML プロセス エンジン) は、単一のコンピューター (サーバー) でXQuery スクリプトを処理します。

ただし、データ数が多いと、完了するまでに時間がかかります。そこで、分散環境で大量のデータを扱えるMapReduceフレームワークを検討しています。しかし、MapReduce が適しているかどうかはわかりません。

私の疑問を示すことができる質問があります。

これはデータ集約プラットフォームであるため、元のデータはさまざまなシステムに保存されます。MapReduce でデータを処理する前に、それらのシステムから関連データを収集して MapReduce (HDFS) に入れる必要がありますか? もしそうなら、それをするのに長い時間がかかりますよね?

4

1 に答える 1

0

はい、データを HDFS にロードしてから処理する必要があります。MapReduce が適用可能かどうかは、さまざまな要因によって異なります。

  • データを HDFS にロードするのに必要な時間は、クラスター内のすべてのデータを処理して最終結果を生成するのにかかる時間よりも大幅に短いですか?
  • すべての異なるソースからのデータを HDFS に保存し、HDFS のみに保存して、すべてのジョブを実行する前に (すべての) 新しいデータを HDFS にロードする必要がないようにすることは可能ですか?
  • 同じ変換を使用して異なる入力を処理しますか? ここでは、入力データが異なる同じジョブを繰り返し実行することでメリットが得られます。
  • すべての入力データは、ジョブの実行ごとに変更されますか? または、異なる入力 XML ファイルに対してジョブを実行し、同じ MR ジョブを同時に使用してそれらを変換することも可能です。

MR を使用すると決めた場合、Cascadingが役立つことがあります。これは、複雑なデータ フローを定義するためのデータ API です。このプロジェクトは、フォーク、結合、トークン化、グループ化などの抽象化を提供します。

于 2013-03-12T21:41:37.040 に答える