我正在運行一個spark工作,其中一些數據從cassandra表中加載。從這些數據中,我做了一些插入和刪除語句。 並執行它們。 (使用的forEach)session.execute()沒有反映在cassandra上完成火花集羣
boolean deleteStatus= connector.openSession().execute(delete).wasApplied();
boolean insertStatus = connector.openSession().execute(insert).wasApplied();
System.out.println(delete+":"+deleteStatus);
System.out.println(insert+":"+insertStatus);
當我在本地運行它,我看到表中的相應的結果。
但是,當我在羣集上運行它時,有時會顯示結果並且有時候不會發生更改。 我看到了來自web-ui的spark的標準輸出,並且這兩個查詢都打印了查詢以及true。 (。數據被正確加載,但有時,只能插入被反射,有時只刪除,有時兩者,並且大多數時候都不)
規格:
- 上同樣的機器作爲火花從站cassandra節點(每個節點有兩個從機實例)
- 在另一臺機器上運行spark master。
- 修復在所有節點上完成。
- 卡桑德拉重啓
測試它僅用於測試目的而進行的。 實際上,每個分區打開一個會話(forEachPartition),然後(forEachRemaining)打開Iterator –