Запись в разные источники в Apache Beam - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть конвейер simeple, который пишет из s3 в pubsub следующим образом:

   Pipeline pipeline = Pipeline.create(options);

    /*
     * Steps:
     *  1) Read from the text source.
     *  2) Write each text record to Pub/Sub
     */
    pipeline
        .apply("Read Text Data", TextIO.read().from(options.getInputFilePattern()))
        .apply("Write to PubSub", PubsubIO.writeStrings().to(options.getOutputTopic()));


    State p= pipeline.run().waitUntilFinish();

Однако я хочу одновременно записывать записи в другое ведро s3.Как изменить вышеуказанные коды для записи в другое ведро?

1 Ответ

0 голосов
/ 20 декабря 2018

Я ожидаю, что ваш вопрос о том, как обрабатывать ввод, чтобы он мог выводиться на два источника.Ниже идея должна работать:

PCollection<String> inputCollection= pipeline.apply("Read Text Data", TextIO.read().from(options.getInputFilePattern()));
inputCollection.apply("Write to PubSub",PubsubIO.writeStrings().to(options.getOutputTopic()));
inputCollection.apply("Write to S3 Bucket",<appropriate-IO>.to(options.getOutputPath()));
State p= pipeline.run().waitUntilFinish();
...