2

完全なHadoop分散ファイルシステムをセットアップするのではなく、すでに使用しているため、cassandraにファイルを出し入れしたいと思います。完了時にコールバックを提供するアステュアナクスまたはヘクターの非同期プットはありますか?1000エントリを書き込むときに1000コールの1ミリ秒のネットワーク遅延を回避できます(いくつかの行と列に分割されてストリーミングされます)並行していくつかのサーバーに送信すると、ストリーミングが完了すると、すべての応答/コールバックが返されます)。Hectorまたはastyanaxはこれをサポートしていますか?

astyanaxはクエリコールバックをサポートしているようですので、主キーを使用してファイルをastyanaxでストリーミングできると思いますか?

ありがとう、ディーン

4

1 に答える 1

1

Cassandraは、thriftAPIを介したストリーミングを実際にはサポートしていません。さらに、ファイルを単一のミューテーションバッチに分割して、データを複数の行と列に分散させることは非常に危険です。その結果、cassandraでヒープが破壊されたり、1MBのソケット書き込みバッファ制限に遭遇したりする可能性があります。これにより、特定のエラーの場合、実際にthrift接続が無期限にハングする可能性があります(ただし、これは最新バージョンのcassandraで修正される可能性があります) 。

Astyanaxの新しいチャンクオブジェクトストアレシピ(https://github.com/Netflix/astyanax/wiki/Chunked-Object-Store)は、Cassandraに大きなオブジェクトを保存するというNetflixでの経験に基づいており、すべてを処理するシンプルなAPIを提供します。チャンク化と並列化。それでも、cassandraに対して数千回の呼び出しを行うことができます(ファイルサイズとチャンクサイズによって異なります)が、すべての再試行と並列化も処理します。同じことがファイルの読み取りにも当てはまります。APIはチャンクを読み取り、それらを順番にOutputStreamに再アセンブルします。

于 2012-05-02T06:02:00.973 に答える