bash—删除以json文件为目标的cassandra中的数据

zvokhttg  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(377)

我有一个json文件,每行有两个属性,messageid和appkey,在cassandra中有一个名为msg\u log的表。此表的行具有对应于上面2个属性的列。我想解析json文件,并根据它的值,从msg\u log中删除匹配的行。我使用bash脚本来完成这个任务,其他方法暂时不允许。有可能做到这一点吗?

a0zr77ik

a0zr77ik1#

是的,如果这些属性与分区键/集群列匹配,就有可能。在这种情况下,使用以下方法:
生成个人 DELETE FROM table WHERE attr1 = ... AND attr2 = ... 语句,并将它们放入文件中
通过执行所有语句 cqlsh -f file_name 根据json文件的格式,您可以使用 sed (如果您的文件每行有一个json记录),但最好的方法是使用jq实用程序提取数据,jq实用程序可能以不同的方式处理json格式的数据。

相关问题