2

コードをデータと同じ場所に配置できるようにするソリューションを探しています。データベースとして、私は Cassandra を持っており、特定のノードにあるデータを取得できるようにしたいと考えています。

ここで重要なのは、Hadoop や Spark などのフレームワークを使用せずに、自分のコードからそれを達成しようとすることです。

私はまだ解決策を見つけていないので、誰かが説明したりリンクを提供したりできれば、私は嘆き悲しむ. ここでの問題は、Cassandra でそれをどのように達成できるかということです。

前もって感謝します

4

1 に答える 1

2

これはおそらくあなたがすべきことではないという警告:

これを行う最も簡単な方法は、バイト オーダー パーティショナーを使用することです。これにより、ハッシュを使用するのではなく、主キーの実際のバイト順序に基づいてノードにデータが配置されます。この手法は専門家のみを対象としており、Cassandra の利点の多くを取り除いているため、トレードオフを真に理解している人のみが使用する必要があります。また、ByteOrderedPartitioner は、システムを簡単に理解できる方法で拡張できないため、アプリケーションの設計者とシステム運用チームの負担が大幅に増えます。

これに対処するには、Spark または Hadoop を使用するのが正しい方法です。

本当の解決策は、Hadoop または Spark を使用することです。ディスクから直接 sstables を読み取ろうとすることで、探しているデータの局所性を取得できます。この例: http://www.fullcontact.com/blog/cassandra-sstables-offline/

于 2014-09-18T13:03:56.200 に答える