diff options
Diffstat (limited to 'clover/spark/src/main/scala/CloverFast.scala')
-rw-r--r-- | clover/spark/src/main/scala/CloverFast.scala | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/clover/spark/src/main/scala/CloverFast.scala b/clover/spark/src/main/scala/CloverFast.scala new file mode 100644 index 0000000..b746760 --- /dev/null +++ b/clover/spark/src/main/scala/CloverFast.scala @@ -0,0 +1,55 @@ +// Copyright (c) Authors of Clover +// +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Apache License, Version 2.0 +// which accompanies this distribution, and is available at +// http://www.apache.org/licenses/LICENSE-2.0 + +import org.apache.spark.sql.SparkSession +import com.datastax.spark.connector._ +import org.apache.spark.sql.cassandra._ +import org.apache.spark.SparkContext +import org.apache.spark.SparkConf + +import com.redis._ + +object CloverFast { + def main(args: Array[String]) { + val sp = SparkSession.builder.appName("Clover Fast") + .getOrCreate() + sp.stop() + + val CassandraConnect = "cassandra.clover-system" + val RedisConnect = "redis.default" + + // Cassandra, Redis, Spark Context + val scch = "spark.cassandra.connection.host" + val conf = new SparkConf(true).set(scch, CassandraConnect) + val redis = new RedisClient(RedisConnect, 6379) + val sc = new SparkContext(conf) + + for( x <- 1 to 10000 ) { + + try { + val spans = sc.cassandraTable("visibility", "spans") + .select("spanid").cassandraCount() + redis.set("span_count", spans) + + val traces = sc.cassandraTable("visibility", "traces") + .select("traceid").cassandraCount() + redis.set("trace_count", traces) + + val metrics = sc.cassandraTable("visibility", "metrics") + .select("monitor_time").cassandraCount() + redis.set("metric_count", metrics) + + } + catch { + case unknown : Throwable => println("System counts exception: " + + unknown) + } + + } + + } +} |