好了,问题是,我需要做的塞的AQL控制台上聚集查询。具体而言,我想对一组中的记录进行平均,并计算一组中的所有记录。我不知道如何甚至开始...塞式AQL COUNT(*)SQL脚本模拟
0
A
回答
0
aql> SHOW SETS
会给你在你的对象集的数量,与列n_objects
然后,您可以使用n_objects
值来计算你的平均
0
类似SQL的聚合函数在Aerospike中使用stream UDFs实现,这些编写在Lua中。流UDF是一个map-reduce操作,该操作应用于从扫描或secondary index查询返回的记录流。
流UDF模块(让我们假设它包含在文件aggr_funcs.lua
中)将通过返回1
为它看到的每个记录实现COUNT(*),并减少到一个聚合的整数值。
local function one(record)
return 1
end
local function sum(v1, v2)
return v1 + v2
end
function count_star(stream)
return stream : map(one) : reduce(sum)
end
你会register the UDF module与服务器,然后调用它。这里有一个如何你在使用Python aerospike.Query.apply
做一个例子:
import aerospike
from aerospike import predicates as p
config = {'hosts': [('127.0.0.1', 3000)],
'lua': {'system_path':'/usr/local/aerospike/lua/',
'user_path':'/usr/local/aerospike/usr-lua/'}}
client = aerospike.client(config).connect()
query = client.query('test', 'demo')
#query.where(p.between('my_val', 1, 9)) optionally use a WHERE predicate
query.apply('aggr_funcs', 'count_star')
num_records = query.results()
client.close()
但是,你应该得到metrics如使用info command对象的数量。塞具有所使用的命令行工具,如asinfo的AMC仪表盘,以及语言的客户端的info方法的信息子系统。
要获取的对象的数量集群中:
asinfo -h 33.33.33.91 -v 'objects'
23773
您也可以在特定的命名空间中的对象的数量。我有一个双节点群集,我会询问每个人:
asinfo -h 33.33.33.91 -v 'namespace/test'
type=device;objects=23773;sub-objects=0;master-objects=12274;master-sub-objects=0;prole-objects=11499;prole-sub-objects=0;expired-objects=0;evicted-objects=0;set-deleted-objects=0;nsup-cycle-duration=0;nsup-cycle-sleep-pct=0;used-bytes-memory=2139672;data-used-bytes-memory=618200;index-used-bytes-memory=1521472;sindex-used-bytes-memory=0;free-pct-memory=99;max-void-time=202176396;non-expirable-objects=0;current-time=201744558;stop-writes=false;hwm-breached=false;available-bin-names=32765;used-bytes-disk=6085888;free-pct-disk=99;available_pct=99;memory-size=2147483648;high-water-disk-pct=50;high-water-memory-pct=60;evict-tenths-pct=5;evict-hist-buckets=10000;stop-writes-pct=90;cold-start-evict-ttl=4294967295;repl-factor=2;default-ttl=432000;max-ttl=0;conflict-resolution-policy=generation;single-bin=false;ldt-enabled=false;ldt-page-size=8192;enable-xdr=false;sets-enable-xdr=true;ns-forward-xdr-writes=false;allow-nonxdr-writes=true;allow-xdr-writes=true;disallow-null-setname=false;total-bytes-memory=2147483648;read-consistency-level-override=off;write-commit-level-override=off;migrate-order=5;migrate-sleep=1;migrate-tx-partitions-initial=4096;migrate-tx-partitions-remaining=0;migrate-rx-partitions-initial=4096;migrate-rx-partitions-remaining=0;migrate-tx-partitions-imbalance=0;total-bytes-disk=8589934592;defrag-lwm-pct=50;defrag-queue-min=0;defrag-sleep=1000;defrag-startup-minimum=10;flush-max-ms=1000;fsync-max-sec=0;max-write-cache=67108864;min-avail-pct=5;post-write-queue=0;data-in-memory=true;file=/opt/aerospike/data/test.dat;filesize=8589934592;writethreads=1;writecache=67108864;obj-size-hist-max=100
asinfo -h 33.33.33.92 -v 'namespace/test'
type=device;objects=23773;sub-objects=0;master-objects=11499;master-sub-objects=0;prole-objects=12274;prole-sub-objects=0;expired-objects=0;evicted-objects=0;set-deleted-objects=0;nsup-cycle-duration=0;nsup-cycle-sleep-pct=0;used-bytes-memory=2139672;data-used-bytes-memory=618200;index-used-bytes-memory=1521472;sindex-used-bytes-memory=0;free-pct-memory=99;max-void-time=202176396;non-expirable-objects=0;current-time=201744578;stop-writes=false;hwm-breached=false;available-bin-names=32765;used-bytes-disk=6085888;free-pct-disk=99;available_pct=99;memory-size=2147483648;high-water-disk-pct=50;high-water-memory-pct=60;evict-tenths-pct=5;evict-hist-buckets=10000;stop-writes-pct=90;cold-start-evict-ttl=4294967295;repl-factor=2;default-ttl=432000;max-ttl=0;conflict-resolution-policy=generation;single-bin=false;ldt-enabled=false;ldt-page-size=8192;enable-xdr=false;sets-enable-xdr=true;ns-forward-xdr-writes=false;allow-nonxdr-writes=true;allow-xdr-writes=true;disallow-null-setname=false;total-bytes-memory=2147483648;read-consistency-level-override=off;write-commit-level-override=off;migrate-order=5;migrate-sleep=1;migrate-tx-partitions-initial=4096;migrate-tx-partitions-remaining=0;migrate-rx-partitions-initial=4096;migrate-rx-partitions-remaining=0;migrate-tx-partitions-imbalance=0;total-bytes-disk=8589934592;defrag-lwm-pct=50;defrag-queue-min=0;defrag-sleep=1000;defrag-startup-minimum=10;flush-max-ms=1000;fsync-max-sec=0;max-write-cache=67108864;min-avail-pct=5;post-write-queue=0;data-in-memory=true;file=/opt/aerospike/data/test.dat;filesize=8589934592;writethreads=1;writecache=67108864;obj-size-hist-max=100
注意的master-objects
在每个节点的值一起加起来群集范围objects
值。
要获取对象的数量在一组:
asinfo -h 33.33.33.91 -v 'sets/test/demo'
n_objects=23771:n-bytes-memory=618046:stop-writes-count=0:set-enable-xdr=use-default:disable-eviction=false:set-delete=false;
相关问题
- 1. 入门使用Lua和塞AQL
- 2. 以非阻塞模式从cronjob执行PHP脚本
- 3. 用虚拟脚本模拟sendmail
- 4. 从sql脚本中提取模式
- 5. 基本T-SQL COUNT
- 6. SQL COUNT COUNT
- 7. AutoIt模拟新的脚本行
- 8. 使用非阻塞脚本
- 9. Apple脚本模拟键盘事件
- 10. 模拟Ctrl-C到python脚本
- 11. 将OpenSSL BIO从阻塞模式更改为非阻塞模式
- 12. Sql select count with count
- 13. Sql select count with count
- 14. SQL脚本格式化
- 15. 模拟一个崩溃的bash脚本
- 16. 通过脚本运行模拟器
- 17. 如何模拟CGI脚本的队列?
- 18. 在ns2中执行脚本模拟
- 19. 脚本来模拟Guest Mode的
- 20. Perl单线程模拟awk脚本
- 21. 用于windows的shell脚本模拟器
- 22. 如何在阻塞send()时模拟WSAEWOULDBLOCK?
- 23. 塞班belle模拟器浏览器版本
- 24. 在AQL
- 25. Shell脚本模式识别
- 26. bash脚本。模式匹配
- 27. shell脚本模式匹配?
- 28. Bash脚本模式匹配
- 29. DatagramChannel,阻塞模式和cpu
- 30. NIO非阻塞模式