如何删除 Cassandra Keyspace 中的所有行
How to delete all rows in Cassandra Keyspace
我需要删除 Cassandra 中的所有行,但无法使用 Amazon Keyspace 执行 TRUNCATE tbl_name
,因为尚不支持 TRUNCATE api。
现在我想到的几个想法有点棘手:
解决方案 A
- select 所有行
- 循环所有行并删除它(一个一个地或批量地)
解决方案 B
DROP TABLE
CREATE TABLE
与旧 table 的结构
您有没有想过让流程最简单?
提前发送
解决方案 B 在没有 TRUNCATE 的情况下应该没问题。在 Cassandra 的旧版本(2.1 之前的版本)中,用相同的名称重新创建 table 是一个问题。参考文章 Datastax FAQ Blog. But since then issue has been resolved via CASSANDRA-5202.
如果不再需要 table 中的数据,最好删除 table 并重新创建它。此外,如果 table 包含大量数据,这将是一项非常繁琐的任务。
如果不需要数据。选项 B - 删除 table 并重新创建。您可以使用自定义 table 属性在创建 table 语句时传递容量。
CREATE TABLE my_keyspace.my_table (
id text,
division text,
project text,
role text,
manager_id text,
PRIMARY KEY (id,division))
WITH CUSTOM_PROPERTIES=
{'capacity_mode':
{'throughput_mode' : 'PROVISIONED',
'read_capacity_units' : 10,
'write_capacity_units' : 20},
'point_in_time_recovery': {'status': 'enabled'}}
AND TAGS={'pii' :'true',
'prod':'true'
};
选项 C。如果您需要数据,您还可以利用 on-demand 容量模式,即 pay-per 请求模式。无需请求,您只需支付存储费用。您每天可以更改一次模式。
ALTER TABLE my_keyspace.my_table
WITH CUSTOM_PROPERTIES=
{'capacity_mode': {'throughput_mode': 'PAY_PER_REQUEST'}}
我需要删除 Cassandra 中的所有行,但无法使用 Amazon Keyspace 执行 TRUNCATE tbl_name
,因为尚不支持 TRUNCATE api。
现在我想到的几个想法有点棘手:
解决方案 A
- select 所有行
- 循环所有行并删除它(一个一个地或批量地)
解决方案 B
DROP TABLE
CREATE TABLE
与旧 table 的结构
您有没有想过让流程最简单?
提前发送
解决方案 B 在没有 TRUNCATE 的情况下应该没问题。在 Cassandra 的旧版本(2.1 之前的版本)中,用相同的名称重新创建 table 是一个问题。参考文章 Datastax FAQ Blog. But since then issue has been resolved via CASSANDRA-5202.
如果不再需要 table 中的数据,最好删除 table 并重新创建它。此外,如果 table 包含大量数据,这将是一项非常繁琐的任务。
如果不需要数据。选项 B - 删除 table 并重新创建。您可以使用自定义 table 属性在创建 table 语句时传递容量。
CREATE TABLE my_keyspace.my_table (
id text,
division text,
project text,
role text,
manager_id text,
PRIMARY KEY (id,division))
WITH CUSTOM_PROPERTIES=
{'capacity_mode':
{'throughput_mode' : 'PROVISIONED',
'read_capacity_units' : 10,
'write_capacity_units' : 20},
'point_in_time_recovery': {'status': 'enabled'}}
AND TAGS={'pii' :'true',
'prod':'true'
};
选项 C。如果您需要数据,您还可以利用 on-demand 容量模式,即 pay-per 请求模式。无需请求,您只需支付存储费用。您每天可以更改一次模式。
ALTER TABLE my_keyspace.my_table
WITH CUSTOM_PROPERTIES=
{'capacity_mode': {'throughput_mode': 'PAY_PER_REQUEST'}}