【发布时间】:2015-06-08 20:35:45
【问题描述】:
我正在做一个涉及构建和查询 Cassandra 数据集群的学生项目。
当我的集群负载很轻(大约 30GB)时,我的查询运行没有问题,但现在它有点大(1/2TB)我的查询超时了。
我认为可能会出现这个问题,所以在我开始生成和加载测试数据之前,我已经在我的 cassandra.yaml 文件中更改了这个值:
request_timeout_in_ms (默认值: 10000 )其他杂项操作的默认超时时间。
但是,当我将该值更改为 1000000 时,cassandra 似乎在启动时挂起 - 但这可能只是工作中的大超时。
我的数据生成目标是 2TB。如何在不超时的情况下查询这么大的空间?
查询:
SELECT huntpilotdn
FROM project.t1
WHERE (currentroutingreason, orignodeid, origspan,
origvideocap_bandwidth, datetimeorigination)
> (1,1,1,1,1)
AND (currentroutingreason, orignodeid, origspan,
origvideocap_bandwidth, datetimeorigination)
< (1000,1000,1000,1000,1000)
LIMIT 10000
ALLOW FILTERING;
SELECT destcause_location, destipaddr
FROM project.t2
WHERE datetimeorigination = 110
AND num >= 11612484378506
AND num <= 45880092667983
LIMIT 10000;
SELECT origdevicename, duration
FROM project.t3
WHERE destdevicename IN ('a','f', 'g')
LIMIT 10000
ALLOW FILTERING;
我有一个具有相同架构的演示键空间,但数据大小要小得多(~10GB),并且这些查询在该键空间中运行良好。
所有这些被查询的表都有数百万行,每行大约有 30 列。
【问题讨论】:
-
您能发布一个查询示例吗?