2

非常に大量のデータを収集し、大量のストレージと非常に高速な書き込みスループットを必要とするアプリケーションのプライマリ データ ストアとして Cassandra を使用します。

このデータを定期的に抽出し、リレーショナル データベース (mySQL など) にロードする予定です。毎日数億件のレコードに対応できる抽出メカニズムはありますか? Informatica のような高価なサード パーティの ETL ツールは、私たちの選択肢ではありません。これまでのところ、私の Web 検索では、オプションとして Pig または Hive を使用した Hadoop しか見つかりませんでした。しかし、この分野には非常に慣れていないため、実行時に Cassandra クラスター自体にどれだけの負荷がかかるか、スケーリングがどのくらいうまくいくかはわかりません。他のオプションもありますか?

4

2 に答える 2

1

ここsqoopに示すように、Cassandra と統合されています。

これも簡単にスケーリングできます。機能させるには Hadoop クラスターが必要sqoopです。基本的には次のように機能します。

  • データセットを異なるパーティションにスライスします。
  • 各マッパーが 1 つのスライスの転送を担当する Map/Reduce ジョブを実行します。

したがって、エクスポートするデータセットが大きいほど、マッパーの数が多くなります。つまり、クラスターを増やし続けると、スループットが増え続けます。それはすべて、あなたが持っているリソースの問題です。

Cassandra クラスターの負荷に関しては、Cassandra コネクタを個人的に使用したことがないため、定かではありませんsqoopが、データを抽出する場合は、とにかくクラスターに負荷をかける必要があります。たとえば、トラフィックが最も少ない特定の時間に 1 日 1 回実行すると、Cassandra の可用性が低下した場合の影響を最小限に抑えることができます。

これがあなたの他の質問に関連している場合は、MySQL の代わりに Hive にエクスポートすることを検討することも考えています。その場合、sqoopHive に直接エクスポートできるため、うまくいきます。Hive に入るとsqoop、分析ジョブを実行するために使用されるのと同じクラスターを使用できます。

于 2013-01-26T01:40:29.803 に答える