如何将Aerospike中的set
转储为JSON(以换行符分隔的JSON)?
我试过
aql -h 10.0.0.1 --no-config-file --outputmode=json -c "select * fromnamespace.set_name" >> whatever.json
和
(echo "select * from namespace.set_name" && cat) | aql -h 10.0.0.1 --no-config-file --outputmode=json > whatever.txt
但是在倾销~25MB(原因不明)后两者都被卡住了。
编辑:格式化。
答案 0 :(得分:2)
长话短说,我采取了漫长的路线(写了一个剧本):
import aerospike
import json
config = {
'hosts': [ ('10.0.0.1', 3000) ]
}
try:
client = aerospike.client(config).connect()
except:
import sys
print("rekt lol dump yourself", config['hosts'])
sys.exit(1)
query = client.query('dmp', 'whatever')
query.select('id', 'not_id', 'not_id_at_all')
with open('whatever.json', 'w') as out:
def processRecord(arg):
key, metadata, record = arg
out.write(json.dumps(record))
out.write('\n')
query.foreach(processRecord)