【问题标题】:Real time analytic using Apache Spark使用 Apache Spark 进行实时分析
【发布时间】:2015-06-04 13:58:05
【问题描述】:

我正在使用 Apache Spark 分析来自 Cassandra 的数据,并将通过根据我们的查询在 Cassandra 中设计新表将数据插入回 Cassandra。我想知道spark是否可以实时分析?如果是,那怎么办?我已经阅读了很多关于此的教程,但一无所获。

每当数据立即进入我的表时,我想执行分析并插入 Cassandra。

【问题讨论】:

  • 实时是什么意思?喜欢 Spark Streaming?
  • 你可能想看看Apache Storm
  • 不清楚你在问什么
  • Spark Streaming 通常用于实时更新然后对其进行操作的数据。但是,您的问题并不清楚您到底想做什么,因此有关它的更多信息可能会有所帮助

标签: java cassandra apache-spark bigdata cql3


【解决方案1】:

这可以通过 Spark Streaming 实现,您应该查看 Spark Cassandra 连接器随附的演示和文档。

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 中。

https://github.com/datastax/spark-cassandra-connector/blob/master/doc/5_saving.md#saving-rdds-as-new-tables

使用 saveAsCassandraTable 方法自动创建新表 使用给定的名称并将RDD保存到其中。您正在保存的键空间 必须存在。下面的代码将在words_new中创建一个新表 包含 word 和 count 列的键空间测试,其中 word 变为 主键:

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"))

【讨论】:

  • 嗨,谢谢你的帖子。现在正在使用连接器和流处理相同的过程。但它导致服务器运行非常缓慢。我怎样才能减少这个?这就是我为什么要在 spark 中寻找其他技术进行实时分析的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
  • 2015-03-18
  • 2016-08-04
  • 2014-11-12
  • 2015-03-13
相关资源
最近更新 更多