Использование Alpakka Cassandra Flow

Я читаю документацию по Alpakka Cassandra здесь

Это позволяет очень легко использовать Cassandra в качестве источника и приемника. но как насчет использования потока.

Под использованием потока я имею в виду, что я не использую Cassandra в качестве источника или приемника. но для поиска данных.

возможно ли это с помощью Alpakka? или я должен сам написать код Cassandra jdbc в потоке?


person Knows Not Much    schedule 19.09.2017    source источник


Ответы (1)


1) Раковина. Если вы проверите исходный код, вы обнаружите, что приемник построен следующим образом

Flow[T]
      .mapAsyncUnordered(parallelism)(t ⇒ session.executeAsync(statementBinder(t, statement)).asScala())
      .toMat(Sink.ignore)(Keep.right)

если вам нужен только проходящий поток, вы всегда можете обрезать часть Sink.ignore, и у вас будет

Flow[T]
          .mapAsyncUnordered(parallelism)(t ⇒ session.executeAsync(statementBinder(t, statement)).asScala())

Вам нужно будет только предоставить конвертер фьючерсов Guava, который в настоящее время является частным пакетом в Alpakka.

2) Источник. Вы всегда можете получить Flow из Source, выполнив .flatMapConcat(x => CassandraSource(...))

person Stefano Bonetti    schedule 19.09.2017