我有一个json文件,每行有两个属性,messageid和appkey,在cassandra中有一个名为msg\u log的表。此表的行具有对应于上面2个属性的列。我想解析json文件,并根据它的值,从msg\u log中删除匹配的行。我使用bash脚本来完成这个任务,其他方法暂时不允许。有可能做到这一点吗?
a0zr77ik1#
是的,如果这些属性与分区键/集群列匹配,就有可能。在这种情况下,使用以下方法:生成个人 DELETE FROM table WHERE attr1 = ... AND attr2 = ... 语句,并将它们放入文件中通过执行所有语句 cqlsh -f file_name 根据json文件的格式,您可以使用 sed (如果您的文件每行有一个json记录),但最好的方法是使用jq实用程序提取数据,jq实用程序可能以不同的方式处理json格式的数据。
DELETE FROM table WHERE attr1 = ... AND attr2 = ...
cqlsh -f file_name
sed
1条答案
按热度按时间a0zr77ik1#
是的,如果这些属性与分区键/集群列匹配,就有可能。在这种情况下,使用以下方法:
生成个人
DELETE FROM table WHERE attr1 = ... AND attr2 = ...
语句,并将它们放入文件中通过执行所有语句
cqlsh -f file_name
根据json文件的格式,您可以使用sed
(如果您的文件每行有一个json记录),但最好的方法是使用jq实用程序提取数据,jq实用程序可能以不同的方式处理json格式的数据。