Нагрузка на гаечный ключ очень низкая - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь записать ТБ данных в Spanner с использованием Dataflow.

Экземпляр гаечного ключа настроен с достаточным количеством узлов, а Dataflow работает на машинах n1-standard-16.

работа идет очень медленно Загрузка ЦП Spanner находилась в определенных пределах, а задержка записи также значительно меньше в миллисекундах. В основном все, кажется, находится под контролем. Никакая другая операция чтения / записи не выполняется одновременно для этого экземпляра.

Загрузка может иметь прибл. один миллион записей, которые могут иметь тот же ключ, что и некоторые записи в Spanner. Я использую InsertBuilder, чтобы избежать записи таких строк в Spanner. Может ли это быть основной причиной низкой производительности? Я также использую writeFailureMode () как «Ошибка отчета» (не «Fail Fast»). Так что, по моему мнению, «УЖЕ СУЩЕСТВУЕТ» не должно сильно мешать производительности, но не совсем уверен.

1 Ответ

2 голосов
/ 26 января 2020

Ошибка исходит от Луча SpannerIO. java. SpannerIO пытается объединить несколько групп мутаций для более эффективной записи в Cloud Spanner. Однако, если группа мутаций имеет уже существующий ключ, пакет не может быть записан полностью. Вместо этого каждая группа мутаций пытается по отдельности успешно написать каждую, у которой нет дублирующего ключа. Поскольку в этом случае размер партии фактически становится единым, производительность вставки будет ниже.

...