Какой метод использовать для замены устаревшей организации. apache .beam.sdk.io.FileIO.withIgnoreWindowing? - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть луч / scio Pipeline с этим кодом:

// Save result as text files under the output path
val filesP: PCollection[KV[Void, String]] = decryptedRows.internal
  .apply({
    FileIO
      .write()
      .via(TextIO.sink())
      .withNaming(
        Write.defaultNaming(output, StaticValueProvider.of[String](".csv"))
      )
      .withTempDirectory(output)
      .withIgnoreWindowing()
      .withEmptyGlobalWindowDestination(null)
  })
  .getPerDestinationOutputFilenames

И иногда PCollection decryptedRows пуст. Но я все равно хочу сохранить файл.

Проблема в том, что документация по лучу рекомендует не использовать его: https://beam.apache.org/releases/javadoc/2.4.0/org/apache/beam/sdk/io/FileIO.Write.html

withIgnoreWindowing () Устаревшее. Избегайте использования этого метода: его эффекты сложны, и он будет удален в будущих версиях Beam. Сейчас он существует для совместимости с WriteFiles.

Спасибо.

...