Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 处理100万行键的pycassa multiget的有效方法是什么_Python_Cassandra_Pycassa_Cassandra Cli_Cassandra 2.0 - Fatal编程技术网

Python 处理100万行键的pycassa multiget的有效方法是什么

Python 处理100万行键的pycassa multiget的有效方法是什么,python,cassandra,pycassa,cassandra-cli,cassandra-2.0,Python,Cassandra,Pycassa,Cassandra Cli,Cassandra 2.0,我在卡桑德拉完全是个新手 现在,我已经设法让我的代码在相对较小的数据集上为我的问题场景工作 然而,当我尝试在一百万行键上执行multiget时,它失败了,并显示一条消息“重试6次。最后一次失败是超时:超时” e、 g:colfam.multiget([rowkey1,…,rowkey_百万]) 基本上,我试图查询的列族有100万条记录,每条记录有28列 在这里,我在一个ubuntu虚拟机上运行一个2节点cassandra集群,系统配置为 内存:3GB 处理器:1CPU 那么,我如何有效地处理这么

我在卡桑德拉完全是个新手

现在,我已经设法让我的代码在相对较小的数据集上为我的问题场景工作

然而,当我尝试在一百万行键上执行multiget时,它失败了,并显示一条消息“重试6次。最后一次失败是超时:超时”

e、 g:colfam.multiget([rowkey1,…,rowkey_百万])

基本上,我试图查询的列族有100万条记录,每条记录有28列

在这里,我在一个ubuntu虚拟机上运行一个2节点cassandra集群,系统配置为

内存:3GB 处理器:1CPU

那么,我如何有效地处理这么多行键上的multiget,然后将其批量插入到另一个cassandra列族中呢


提前感谢:):)

我也在上对此进行了回复(请尽量不要在多个地方发布),但我会将答案复制给其他任何看到这一点的人:

对于Cassandra来说,multiget是一个非常昂贵的操作。multiget中的每一行可能需要对Cassandra进行几次磁盘搜索。pycassa会自动将查询分割成更小的块,但这仍然非常昂贵

如果要读取整个列族,请改用
get\u range()

如果您只是尝试读取该列族中的行子集(基于某些属性),并且需要经常这样做,则需要使用不同的数据模型

由于您是新手,我将花一些时间学习Cassandra中的数据建模:。(注意:大多数示例将使用CQL3,pycassa不支持CQL3。如果您想使用CQL3,请使用新的DataStax python驱动程序:)