2016-05-13 16 views
0

データがテーブルに挿入されている間に、すぐにcassandraテーブルを読み込もうとしています。テーブルはプライマリキー(パーティションキーではない)の1つとしてタイムスタンプを持っています。我々は火花の仕事をkafkaから読んで、15秒ごとにcassandraに書いている。サーバーコンポーネントは、スパークジョブがデータの挿入を開始するとすぐに、cassandraから読み取ります。データがcassandraに挿入されてから巨大なので、ページのデータを読み込んでいます。ページを読み込んでいるうちに、スキップされたレコードの数が少なく、最後のレコードに達していることがわかりました。書き込み中に同時にcassandraを読み取る

しかし、すべての準備完了データのページでデータを読み取るのと同じロジックを実行すると、正常に動作しています(レコードをスキップしません)。データがキャッサンドラに挿入されている間にページ内のデータを読み取る方法はありますか?

答えて

0

あなたの観察した内容は、現在のCassandra data consistency levelの結果である可能性があります。書き込まれたすべてのデータが読み込めるようにするにはALLレベルを使用することができますが、これはすべてのノードが変更を待つのを引き起こします。

+0

ありがとう、私はStatementオブジェクトを使用して、すべてのStatement文=新しいSimpleStatement(クエリ); statement.setConsistencyLevel(ConsistencyLevel.ALL);に設定を一貫性のあるクエリを渡していますが、 – kiran