我必须从Cassandra
数据库编写数据分析输出。问题设置如下:
数据库包含各种日志消息。提取类型为' message_sent'的日志消息和' message_received'并计算交换消息所需的平均时间"。表包含> 5000000行的比例为一半(发送和接收的消息之间)。
我想使用python
驱动程序在CQL
中工作。目前脚本很简单,但速度很慢(我获取一种类型的所有行,并且对于每个' message_sent我搜索收到的消息(使用相同的client_id和server_id),将时间差存储到变量中并计算平均值。端。
我知道Cassandra
具有用户定义函数(和UDA函数),但我没有将它们应用于我的问题。我想到的是执行一个更复杂的查询,它将收集我需要的所有数据,我将从查询本身获得输出(这在SQL
中很容易)。
JOIN
中来自GROUP BY
的{{1}}和SQL
条款产生效果的最佳方法是什么?