我必须比较Cassandra中的两个表来获得差异。这是要求。我们必须执行库存盘点,我们将输入/扫描库存中的每个项目,完成后我们将全部与主库存表进行比较以获得差异。 我在Cassandra创建了一个临时表,我将在每次扫描时插入记录。
**TempInventory**
userId
storeId
skuId
PK(storeId, skuId)
我有主表和其他详细信息 -
**Inventory**
storeId
skuId
skuDesc
..
..
PK(storeId)
扫描完成后再提交我必须将tempInventory与Inventory表进行比较以获得差异。那么在Cassandra中这样做的最好方法是什么,因为我们不能使用连接 -
请建议哪种方法最合适。
答案 0 :(得分:0)
正确,Cassandra没有提供任何与表格比较的内置机制,您需要自己动手。
第一个建议是在两个表中使用相同的主键。你需要在临时表的PK中添加skuId
吗?这将使得获取数据比较困难。
我想说答案取决于您需要处理的数据量。如果您有大量(数百GB或更多),那么使用Spark或Storm进行流处理是值得的。如果你没有那么多,你可以使用一个简单的Java程序。可能需要一段时间才能完成,但你不必将Spark或Storm放到一起。