是否有可能在不使用Scala中的Spark的情况下将推文实时写入某些关系数据库(如MySQL或PostgreSQL)?相反,我想用Akka的用户流模块。
我非常感谢有关此主题的一些资源和建议。
编辑:我试图连接到Twitter API,我使用Twitter4J来获取一些推文并过滤它们。现在我正处于我想要将提取的推文写入数据库而不是写入控制台的舞台上。
class Counter extends StatusAdapter{
implicit val system = ActorSystem("EmojiTrends")
implicit val materializer = ActorMaterializer()
implicit val executionContext = system.dispatcher
implicit val LoggingAdapter =
Logging(system, classOf[Counter])
val overflowStrategy = OverflowStrategy.backpressure
val bufferSize = 1000
val statusSource = Source.queue[Status](
bufferSize,
overflowStrategy
)
val sink: Sink[Any, Future[Done]] = Sink.foreach(println)
val flow: Flow[Status, String, NotUsed] = Flow[Status].map(status => status.getText)
val graph = statusSource via flow to sink
val queue = graph.run()
override def onStatus(status: Status) =
Await.result(queue.offer(status), Duration.Inf)
}