Я испытываю проблемы с производительностью в моем конвейере в DoFn, который использует большой боковой ввод ~ 1 ГБ.Боковой ввод передается с помощью pvalue.AsList (), который вызывает материализацию побочного ввода.
График выполнения конвейера показывает, что конкретный шаг тратит большую часть времени на чтение побочного ввода.Общий объем прочитанных данных намного превышает размер бокового ввода.Следовательно, я пришел к выводу, что боковой ввод не помещается в память / кэш рабочих, даже если их оперативной памяти достаточно (с использованием рабочих n1-highmem4 с 26 ГБ ОЗУ).
Как узнать, насколько большой этот кэшна самом деле есть?Есть ли способ контролировать его размер с помощью Beam Python SDK 2.15.0 (как, например, была опция конвейера --workerCacheMb = 200 для Java 1.x SDK)?
Нет простого способа уменьшить мою сторонуввод более 10%.