Как преобразовать PCollection <Long>с одним элементом в коллекцию Java в памяти? - PullRequest
0 голосов
/ 27 ноября 2018

Итак, я пытался сделать вывод, что преобразование Count хранится в PCollection<Long>, который теперь имеет только один элемент.Было бы очень удобно, если бы был какой-либо метод для преобразования этого в коллекцию Java в памяти.По сути, я ищу отрицание преобразования Create.of().Любая идея?

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

В Beam нет никакого способа сделать это.Тем не менее, любые последующие вычисления, которые вы хотели бы сделать, могут использовать один элемент в качестве побочного ввода для ParDo.Я бы порекомендовал преобразовать напрямую в PCollectionView, когда вы делаете Count;Это хорошая практика для комбайнеров, имеющих элементы идентичности.

PCollectionView<Long> count =
    input.apply(Combine.globally(Count.combineFn()).asSingletonView())

dummyCollection.apply(ParDo.of(new DoFnConsumingTheCount(count)).withSideInputs(count));
0 голосов
/ 28 ноября 2018

Взгляните на материализацию в Scio .

...