Пример кода для Text.IO.ReadAll

Мне нужно прочитать файлы json из 30 папок GCS в конвейер потока данных как String. Вместо добавления шага Text.IO.Read для каждого я надеялся использовать Text.IO.ReadAll. Любые идеи, как я могу настроить его для чтения из нескольких папок.

Нашел это, но имя папок в моем случае находится в List<String>, а не в PCollection<String>

// E.g. the filenames might be computed from other data in the pipeline, or
 // read from a data source.
 PCollection<String> filenames = ...;

 // Read all files in the collection.
 PCollection<String> lines = filenames.apply(TextIO.readAll());

Каждая папка GCS, которую мне нужно прочитать, содержит 500 файлов.

Непонятно, в чем проблема. Например, вы пробовали конвертировать из Pcollection в List? Хотите, чтобы строки из 30 источников перекачивались в один Список?

Oliver 18.04.2018 00:42
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
281
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте Create.of (), чтобы создать коллекцию PCollection из списка.

Любые идеи, как вернуть PCollection<TableRow> из TextIO.ReadAll. В настоящее время у меня есть PCollection<String> pCollection = pipeline.apply(Create.of(stringList));, затем pCollection.apply(TextIO.readAll());, но это возвращает PCollection<String>, а не PCollection<TableRow>.

PUG 18.04.2018 22:32

Используйте Map, FlatMap или ParDo для преобразования из String в TableRow.

jkff 18.04.2018 22:48

Другие вопросы по теме