Есть ли способ ограничить запись при выполнении TextIO? - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть сценарий использования, когда я читаю около миллиардов записей, но мне нужно ограничить запись, чтобы увидеть поведение данных. У меня есть пардо, где я анализирую ограниченные данные и выполняю некоторые функции, основанные на этом. Но я читаю миллиард записей, а затем применяю лимит внутри Pardo, чтобы получить 10000 записей. Так как мой конвейер читает миллиард записей, это снижает производительность конвейера. Есть ли способ, которым я мог бы просто ограничить записи, читая текстовый файл, используя TextIO.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2020

Возможно, вам придется попробовать преобразование Sample, например Sample.any(10000). Возможно, это будет работать быстрее.

0 голосов
/ 25 февраля 2020

Откуда вы читаете записи? Я думаю, что ответ зависит от этого.

Если они все взяты, например, из одного файла, то я не думаю, что Beam поддерживает выборку части из них. Если они, например, из разных файлов, может быть, вы можете создать шаблон сопоставления файлов, который вы используете, так, чтобы вы читали только некоторые из них?

...