我的Cassandra数据库每隔十分钟tags
为每个machine
(总共1000台机器)存储为不同timestamp
(有100个标签)存储的时间序列数据。我想使用Spark
对特定日期数据执行分析。数据库包含过去两年的大量数据。
CassandraJavaUtil.javaFunctions(sc) .cassandraTable(database,table) .filter(t->todays(t)) .filter(f->f.getString("tag").contains("Temp")) .distinct() .count();
这是我的代码todays()
功能过滤基于今天日期的数据。上面的代码花了很多时间(它实际上从未产生过结果)我在哪里做错了。有没有更好的方法来获取这些数据。
这是我的表架构,
machine_id text,
tag text,
timestamp timestamp,
value double,
PRIMARY KEY (( machine_id, tag ), timestamp)