我正在运行一个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 –