如何在Cassandra中比较两个表
我必须比较卡桑德拉中的两个表格以得出差异。这是要求。我们必须进行库存盘点,在盘点中输入/扫描库存中的每个项目,完成后,我们将所有项目与主库存表进行比较,以获得差异。 我在Cassandra中创建了一个临时表,在其中我将针对每次扫描插入记录如何在Cassandra中比较两个表,cassandra,java-8,apache-spark-sql,gemfire,Cassandra,Java 8,Apache Spark Sql,Gemfire,我必须比较卡桑德拉中的两个表格以得出差异。这是要求。我们必须进行库存盘点,在盘点中输入/扫描库存中的每个项目,完成后,我们将所有项目与主库存表进行比较,以获得差异。 我在Cassandra中创建了一个临时表,在其中我将针对每次扫描插入记录 **TempInventory** userId storeId skuId PK(storeId, skuId) 我有主表和其他细节- **Inventory** storeId skuId skuDesc .. .. PK(storeId) 扫描完
**TempInventory**
userId
storeId
skuId
PK(storeId, skuId)
我有主表和其他细节-
**Inventory**
storeId
skuId
skuDesc
..
..
PK(storeId)
扫描完成后,在提交时,我必须将tempInventory与Inventory表进行比较,以获得差异。既然我们不能使用连接,那么在Cassandra中这样做的最佳方式是什么
请建议最合适的方法。正确,Cassandra没有提供任何内置机制来与表进行比较,您需要自己做 第一个建议是在两个表中使用相同的主键。是否需要在临时表的主键中添加
skuId
?这将使获取数据进行比较变得困难
我认为答案取决于需要处理的数据量,使用Spark或Storm进行流处理是值得的。如果没有那么多,可以使用一个简单的Java程序。可能需要一段时间才能完成,但不必安装Spark或Storm。正确,Cassandra没有提供任何内置机制来与表进行比较,您需要自己完成 第一个建议是在两个表中使用相同的主键。是否需要在临时表的主键中添加
skuId
?这将使获取数据进行比较变得困难
我认为答案取决于需要处理的数据量,使用Spark或Storm进行流处理是值得的。如果你没有那么多,你可以使用一个简单的Java程序。这可能需要一段时间才能完成,但你不必安装Spark或Storm。谢谢。多个用户可以扫描,他们可以扫描相同的sku。因此,我们不需要为相同的sku设置重复的行。这是为什么sku是PK的一部分。谢谢。多个用户可以扫描,他们可以扫描相同的sku。因此,我们不需要为相同的sku创建重复的行。这就是为什么sku是PK的一部分。