gpt4 book ai didi

java - 通过 Spark 进行 Cassandra 数据聚合

转载 作者:搜寻专家 更新时间:2023-11-01 00:56:09 25 4
gpt4 key购买 nike

我想通过 cassandra spark 连接器使用服务器端数据选择和过滤。事实上,我们有许多传感器每 1 秒发送一次值,我们对使用月、日、小时等的这些数据聚合感兴趣,我提出了以下数据模型:

CREATE TABLE project1(      
year int,
month int,
load_balancer int,
day int,
hour int,
estimation_time timestamp,
sensor_id int,
value double,
...
PRIMARY KEY ((year, month, load_balancer), day, hour, estimation_time, sensor_id)

然后,我们有兴趣获得 2014 年 12 月的数据聚合,其中负载均衡器为 IN (0,1,2,3)。所以它们是4 个不同的分区

我们使用的是 cassandra spark 连接器版本 1.1.1,我们使用按查询组合来获取按小时聚合的所有值平均值。

所以4,341,390个元组的处理时间,spark需要11分钟才能返回结果。现在的问题是我们正在使用 5 个节点,但是 spark 只使用一个 worker 来执行任务。您能否建议更新查询或数据模型以提高性能?

最佳答案

Spark Cassandra Connector 有这个功能,它是SPARKC-25 .您可以只创建一个带有值的任意 RDD,然后将其用作键源以从 Cassandra 表中获取数据。或者换句话说 - 将任意 RDD 加入 Cassandra RDD。在您的情况下,任意 RDD 将包含 4 个具有不同负载均衡器值的元组。看documentation获取更多信息。 SCC 1.2 最近发布了,它可能与 Spark 1.1 兼容(尽管它是为 Spark 1.2 设计的)。

关于java - 通过 Spark 进行 Cassandra 数据聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29094124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com