小编slm*_*ers的帖子

Cassandra超时cqlsh查询大(ish)数据量

我正在做一个涉及构建和查询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;
Run Code Online (Sandbox Code Playgroud)

我有一个具有相同模式的演示密钥空间,但数据大小要小得多(~10GB),这些查询在该密钥空间中运行得很好.

查询的所有这些表都有数百万行,每行约30列.

timeout cassandra cqlsh

18
推荐指数
3
解决办法
4万
查看次数

两套物品.集A中的每个元素在集合B中是唯一匹配.将集合A中的每个项目与集合B中的项目在O(nlogn)时间内匹配

所以,澄清一下这个问题:

设置A和集合B集合A中的每个元素都具有集合B中的伙伴,您不能基于将它与同一集合的成员进行比较来对任何集合进行排序,即,B的每个b元素与集合B中的任何其他b无法区分(同样为A).当Ai与Bi匹配时,您可以判断是否Bi > Ai,Bi < Ai或者Bi = Ai.设计一个运行时间为O(nlogn)的算法.

二次时间的明显答案是微不足道的,没有帮助 - 虽然这是我提出的最好的答案.log(n)让我觉得我应该使用递归或某种二叉树,但我不确定如何创建二叉树而不能比较同一组中的元素.另外,我不知道如何使用递归调用来获得比仅运行嵌套for循环更大的效果.任何提示将非常感谢.

algorithm

5
推荐指数
1
解决办法
922
查看次数

为Cassandra DB生成随机数据

我有一个学校的大数据项目,需要我们构建和查询8节点的Cassandra系统。系统必须包含至少7 TB的数据。我必须自己生成所有这些数据。不需要数据与赋值“相关”,即每一列可以只是一个随机整数。话虽如此,要求每个值是随机的或基于随机序列。

因此,我编写了一个简单的Java程序来生成random ints。我可以在中生成~200 MB随机测试数据~120s。现在除非我的数学不上课,否则我想我会很烦。

中有35000 200MB单位7 terabytes

35000 * 120 = 4 200 000 seconds

420万/ 3600〜 1167hours

1167/24 = 49 days

因此,似乎需要49天才能生成所有需要的测试数据。显然,这是不切实际的。我正在寻找可以提高生成数据速度的建议。

我已经考虑/考虑:

将复制因子设置为8,以减少需要生成的数据量,并在所有8个节点上运行数据生成程序。

编辑:我如何生成数据

private void initializeCols(){
    cols = new ArrayList<Generator>();
    cols.add(new IntGenerator(400));
}

public ArrayList<String> generatePage(){
    ArrayList<String> page = new ArrayList<String>();
    String line = "";
    for(int i = 0; i < PAGE_SIZE; i++){
        line = "";
        for(Generator column : cols){
            line += column.gen();
        }
        page.add(line);
    }
    return …
Run Code Online (Sandbox Code Playgroud)

java random cassandra

1
推荐指数
1
解决办法
2813
查看次数

为什么会导致段错误?

我只是尝试malloc一个字符串数组并将文件中的输入复制到这个数组中.这种线条组合会导致段错误,我不知道为什么.

int count = 0;
char **output = (char**)malloc(numLines*257);
fgets(output[count], 257, input);
Run Code Online (Sandbox Code Playgroud)

c arrays string malloc

0
推荐指数
1
解决办法
83
查看次数

标签 统计

cassandra ×2

algorithm ×1

arrays ×1

c ×1

cqlsh ×1

java ×1

malloc ×1

random ×1

string ×1

timeout ×1