我希望我们的开发人员能够告诉表中有多少行(大致)。
执行"从表格中选择计数(*)"没有工作,因为你得到一个超时错误,除非表非常小(不到一百万行)。
在〜/ .cassandra / cqlshrc中增加client_timeout对我们来说从来没有用过,即使这样做也许让开发人员对生产运行10分钟的查询可能不是一个好主意。 :)
由于这是一个生产集群,开发人员没有ssh访问服务器来运行" nodetool"本地服务器上。
运行" nodetool"远程需要启用远程JMX并应用JMX安全性。这似乎只是为了估计一个表格大小。是否有人可以使用JMX访问权限?
是否有任何其他选项可以对表格中的行数进行任何估计?
谢谢!
答案 0 :(得分:2)
您可以尝试将表导出到csv然后只执行csv的行计数。这不是理想的表现,但它不像计数那样超时。
#include <iostream>
#include <cstring>
using namespace std;
class Foo
{
public:
void set_name(char a[]);
char get_name();
private:
char name[10];
};
int main()
{
Foo bar;
char a[10] = "Test";
bar.set_name(a);
cout << bar.get_name();
return 0;
}
void Foo::set_name(char a[])
{
strcpy(name, a);
}
char Foo::get_name()
{
return name;
}
有关副本的详细信息,请参阅:creates a subclass
另一个,更多&#34;估计&#34;如果您正在运行数据存储cassandra,则选项是将OpsCenter安装到其中一个节点上,这将创建一个UI,您可以向具有大量有用指标和运行状况的开发人员公开。我不认为它直接有数字或行,但如果你知道这个数值,它确实有可以除以平均行数的数据量。
http://docs.datastax.com/en/cql/3.1/cql/cql_reference/copy_r.html
*编辑:我刚刚意识到上面的链接是针对OpsCenter的企业版,但确实包含了它的描述。还有(或至少是)社区版本。