Apache Beam (SDK, используемый Google Cloud Dataflow) предоставляет множество преобразований для обработки файлов.Например,
- TextIO : чтение текстовых файлов и создание
PCollction
текстовых строк. - AvroIO : чтение файлов Avroи создайте
PCollection
записей. - FileIO : множество полезных преобразований для чтения и записи файлов.
Поток данных парализует чтение этих файлов (1) первоначальное разбиение на логические блоки перед чтением (2) динамическая перебалансировка работы для обработки отставших во время чтения.См. здесь для более подробной информации о динамическом перебалансировании работы.
TextIO
, AvroIO
и т. Д., В настоящее время не отслеживают входные файлы.Поэтому, вероятно, вам придется использовать преобразования, предлагаемые FIleIO
(например, FileIO.match()
, затем FileIO.readMatches()
) и читать данные из ParDO
и создавать PCollection
, который содержит записи вместе с именем файла.Они могут быть записаны в соответствующие файлы с помощью функции динамического назначения , предлагаемой FileIO
.