我需要处理大约4,000个cassandra查询。我将每个查询ResultSet转换为生成器以保持较低的内存占用。在发生器的每一行中,我只关注约50个存在的几个字段。
我知道我不能直接过滤CQL中的值字段,但是DataStax Python Cassandra驱动程序是否内置了这样做?或者在构建生成器时这样做更有意义,即
A test
我目前正在发出直接查询,但稍后将使用并发查询和预准备语句转向基于模型的方法。发出请求的代码非常基本
def make_gen(response):
for row in response:
yield row.value.field1, row.value.filed2
我只关心存在这个“字段”的行。我已经更新了我的生成器,只在这个条件成立时才生成数据,但是,如果DataStax驱动程序中内置了一些能够更有效地执行此操作的内容,那么在4,000个查询中,节省的成本就会增加。
答案 0 :(得分:0)
您是否表示只处理field1
或field2
设置为特定值的行?
它不是为此目的而构建的,但您可以使用自定义row_factory
在较低级别实现此过滤,并避免在命名元组,元组和其他生成器之间进行转换。