Производительность: Google Dataflow записывает файл avro в GCS - PullRequest
0 голосов
/ 13 сентября 2018

Я работаю над потоком данных Google, который извлекает данные из pubsub, конвертирует их в avro и записывает их в GCS. Согласно странице мониторинга, узким местом является запись файла avro в GCS (тратя 70-80% общего времени выполнения).

Я использую

  • 10 рабочих n1-стандарт-8
  • 10 numShards
  • 5секундное фиксированное окно
  • Область конечной точки GCS и потока данных одинакова.

Тогда производительность составляет около 200 000 элементов в секунду. Это быстро в этой ситуации, или я могу что-то сделать, чтобы сделать это быстрее? (Я очень хочу!)

Спасибо

1 Ответ

0 голосов
/ 13 сентября 2018

Рассматривали ли вы имена ваших файлов в соответствии с специальным соглашением , чтобы оптимизировать доступ для чтения и записи?

Чтобы поддерживать высокую частоту запросов, избегайте использования последовательных имен. Использование совершенно случайных имен объектов даст вам лучшее распределение нагрузки. Если вы хотите использовать последовательные числа или временные метки как часть имен объектов, добавьте случайность к именам объектов, добавив хэш-значение перед порядковым номером или временной меткой.

По сути, вы должны следовать тем же правилам, что и при выборе RowKey в BigTable.

...