我正在使用Apache Spark来分析来自Cassandra的数据,并将根据我们的查询通过在Cassandra中设计新表将数据插回到Cassandra中。我想知道是否有可能实时分析火花?如果是,那怎么样?我已经阅读了很多这方面的教程,但一无所获。
我希望每当数据立即进入我的表格时执行分析并插入到Cassandra中。
答案 0 :(得分:1)
这可以通过Spark Streaming实现,您应该看一下Spark Cassandra Connector附带的演示和文档。
https://github.com/datastax/spark-cassandra-connector
这包括对流媒体的支持,以及对动态创建新表格的支持。
https://github.com/datastax/spark-cassandra-connector/blob/master/doc/8_streaming.md
Spark Streaming扩展了核心API,允许高吞吐量, 实时数据流的容错流处理。数据可以 来自Akka,Kafka,Flume,Twitter等许多来源的摄取, ZeroMQ,TCP套接字等。结果可以存储在Cassandra中。
使用saveAsCassandraTable方法自动创建新表 使用给定名称并将RDD保存到其中。你要保存的密钥空间 必须存在。以下代码将在其中创建一个新表words_new 键空间测试与列字和计数,其中单词成为一个 主键:
case class WordCount(word:String,count:long)val collection = sc.parallelize(Seq(WordCount(“dog”,50),WordCount(“cow”,60))) collection.saveAsCassandraTable(“test”,“words_new”, SomeColumns(“word”,“count”))