猿问

Aerospike python客户端:检查记录是否成功存储在集群中

我正在使用Aerospike python客户端。我正在使用Aerospike加载程序将数据插入群集中。现在,我需要查看记录是否已成功存储在集群中。


使用的命令:


command = 'java -cp /aerospike-loader/aerospike-load-2.2-jar-with-dependencies.jar ' \

              '-Dlog4j.configuration=file:/aerospike-loader/log4j.properties ' \

              'com.aerospike.load.AerospikeLoad -h %s -p %d -n %s -c %s %s'

command_str = command % (self.host, self.port, self.namespace, tmp_json_file.name, data_file_path)

该文件tmp_json_file包含与以下内容完全相似的配置文件内容:https : //www.aerospike.com/docs/tools/asloader/examples.html


现在如何检查数据是否已成功传输?我尝试使用client.exists(key),但meta退货率None作为writePolicy=true没有设置。如何使用python客户端设置任何示例?还是通过其他方式检查记录是否已成功插入?


慕无忌1623718
浏览 124回答 1
1回答

MYYA

您可以从JSON中提取所有键,并为每个键组合一个元组(namespace, json-set, json-key)(我的意思是使用每个JSON对象的setandkey字段)。然后,您可以aerospike.Client.exists_many使用批读取操作来验证密钥是否存在。即使您没有存储人类可读的密钥(这是默认行为,并且您可能不想花费额外的存储空间),每条记录也具有唯一的20B摘要。该摘要是通过对上述三元组的集合和主键部分进行哈希处理而在客户端中创建的。当您检查是否存在时,客户端将再次对您提供的键进行哈希处理,获得相同的摘要,并检查其存在。
随时随地看视频慕课网APP

相关分类

Python
我要回答