Scala 如何从cassandra事件流中获取最后一个事件
我正在读一个cassandra事件流,想得到最后一个元素。我现在是这样做的:Scala 如何从cassandra事件流中获取最后一个事件,scala,akka,akka-stream,Scala,Akka,Akka Stream,我正在读一个cassandra事件流,想得到最后一个元素。我现在是这样做的: def myData: Future[Long] = readJournal(myPersistenceId) .drop(5) .take(1) .map(l => l.mydata) .runWith(Sink.head) 这是因为我知道我将获得6事件,为了获得最后一个事件,我丢弃5并获取1。但是,我想知道是否有办法做到这一点,这样我就不会硬编码drop(5)和take(
def myData: Future[Long] =
readJournal(myPersistenceId)
.drop(5)
.take(1)
.map(l => l.mydata)
.runWith(Sink.head)
这是因为我知道我将获得6
事件,为了获得最后一个事件,我丢弃5
并获取1
。但是,我想知道是否有办法做到这一点,这样我就不会硬编码drop(5)
和take(1)
。有没有办法让我总是参加最后一个活动?使用或:
或
使用或:
或
def myData: Future[Long] =
readJournal(myPersistenceId)
.map(_.mydata)
.runWith(Sink.last)
def myData: Future[Option[Long]] =
readJournal(myPersistenceId)
.map(_.mydata)
.runWith(Sink.lastOption)