我是卡桑德拉菜鸟。我每5分钟收集一次系统状态,所以我创建了这个表
create table sysportal (hostname text, logged_date text, logged_time timestamp, service text, plugin_output text, status text, PRIMARY KEY((hostname, logged_date), logged_time, service, plugin_output, status));
样本表是
^{pr2}$如何在单个查询中获取所有主机的最新数据?在
目前我正在使用python
select logged_date, logged_time from sysportal limit 1; => In python save in variables
select hostname from sysportal; => In python get distinct hosts
然后
for i in hosts:
select service from sysportal where hostname=i and logged_date=va1 and logged_time=var2
有人能建议我是否可以用cassandra中的单个查询来完成这个任务? 是否应该创建其他表/列\u族?在
不幸的是,由于主机名是分区键的一部分,因此不能。根据数据大小/负载情况,您可以创建一个新表,该表将“logged date”或其他列作为分区键,并将hostname作为集群列的一部分。在
所以你的桌子看起来像这样:
这将允许您运行以下查询:
^{pr2}$相关问题 更多 >
编程相关推荐