Cassandra:基于非主键删除记录-Python

时间:2018-08-14 18:57:50

标签: python cassandra pyspark nosql datastax

表:

 ID      | OP_Type | Location   | 
---------+-----------------+-------
  101    |  D      | NY    |
  102    |  I      | NJ    |
  103    |  U      | CA    |
  103    |  D      | GA    |

要求:表的主键是ID。需要根据OP_Type列的值删除数据。示例OP_type =D。如果我想通过python处理它,如何处理它。请给我一些相同的建议。

1 个答案:

答案 0 :(得分:1)

关于数据集和主键。

如果主键是ID列,则不能有两行包含相同的ID(103)。将只有一行包含最新的插入内容。但是,如果您的数据集正确,那么您需要具有复合主键(包含id和其他一些列才能创建唯一性)。

关于您的特定问题

您可以在op_type列上创建二级索引。然后,您可以进行选择以获取所需的行,然后运行删除。 This问题类似。根据您的数据集和用例,有时creating a index is not recommended会出现这种情况。

另外,this article on secondary indexes可能对理解它们并估计对集群的影响很有价值。

Python

如果您想在Python上执行此操作,建议从Datastax's Python driver for Cassandra开始。