キャッサンドラテーブルからデータが読み込まれるスパークジョブを実行しています。そのデータから、私はいくつかの挿入文と削除文を作成します。 を実行してください。 sparkクラスタでsession.execute()がキャッサンドラに反映されない
boolean deleteStatus= connector.openSession().execute(delete).wasApplied();
boolean insertStatus = connector.openSession().execute(insert).wasApplied();
System.out.println(delete+":"+deleteStatus);
System.out.println(insert+":"+insertStatus);
(forEachの使用)私はローカルで実行すると、私はテーブル内のそれぞれの結果を参照してください。
ただし、クラスタで実行すると、結果が表示されることもありますが、変更が行われないこともあります。 sparkのweb-uiからstdoutを見て、両方のクエリに対してtrueと一緒にクエリが出力されました。 (データが正しくロードされた。しかし、時には、唯一の挿入が反映され、時には唯一の両方時々、削除、および時間なしの最も。。)
仕様:同じマシン上で
- スパーク奴隷を(各ノードには2つのスレーブインスタンスがあります)
- スパークマスターを別のマシンにインストールします。
- すべてのノードで修復が完了しました。
- カサンドラが再開
のテストのために、このハックを使用する必要があります。 実際には、セッションはIteratorでパーティションごとに(forEachPartition)、次に(forEachRemaining)開かれます。 –