2015-11-18 3 views
1

Я недавно начал исследовать Dataflow для нового проекта (замечательный материал и впечатлен им до сих пор!), Но сегодня утром я проверил реальность, проверяя страницу фактурирования в консоль dev.Цена Google Dataflow

Я начал играть с Dataflow на прошлой неделе, запуская все выполнение конвейера через Eclipse с помощью плагина. До сих пор я Запустил 42 следующие работы:

Streaming ----- Nov 17, 2015, 3:20:37 PM ----- 12 min 20 sec 
Streaming ----- Nov 17, 2015, 1:45:49 PM ----- 1 hr 36 min 
Streaming ----- Nov 17, 2015, 1:25:25 PM ----- 21 min 0 sec 
Streaming ----- Nov 17, 2015, 9:30:36 AM ----- 25 min 14 sec 
Streaming ----- Nov 16, 2015, 4:44:09 PM ----- 29 min 27 sec 
Streaming ----- Nov 16, 2015, 4:40:16 PM ----- 3 min 48 sec 
Streaming ----- Nov 16, 2015, 4:37:32 PM ----- 3 min 33 sec 
Streaming ----- Nov 16, 2015, 3:58:46 PM ----- 38 min 53 sec 
Streaming ----- Nov 16, 2015, 3:46:18 PM ----- 12 min 59 sec 
Streaming ----- Nov 16, 2015, 2:05:31 PM ----- 1 hr 41 min 
Streaming ----- Nov 15, 2015, 4:28:06 PM ----- 21 hr 35 min 
Streaming ----- Nov 13, 2015, 5:09:22 PM ----- 2 days 20 hr 
Streaming ----- Nov 13, 2015, 4:30:34 PM ----- 2 days 21 hr 
Streaming ----- Nov 13, 2015, 2:52:40 PM ----- 2 days 23 hr 
Streaming ----- Nov 13, 2015, 2:42:27 PM ----- 10 min 20 sec 
Streaming ----- Nov 13, 2015, 12:21:33 PM ----- 2 hr 19 min 
Streaming ----- Nov 13, 2015, 12:12:24 PM ----- 9 min 24 sec 
Streaming ----- Nov 13, 2015, 11:55:30 AM ----- 17 min 54 sec 
Streaming ----- Nov 13, 2015, 11:51:49 AM ----- 4 min 28 sec 
Streaming ----- Nov 13, 2015, 11:35:06 AM ----- 14 min 36 sec 
Streaming ----- Nov 13, 2015, 11:32:51 AM ----- 3 min 2 sec 
Streaming ----- Nov 13, 2015, 11:20:53 AM ----- 12 min 8 sec 
Streaming ----- Nov 12, 2015, 2:11:08 PM ----- 20 hr 48 min 
Streaming ----- Nov 12, 2015, 2:07:59 PM ----- 6 min 52 sec 
Streaming ----- Nov 12, 2015, 1:24:33 PM ----- 50 min 15 sec 
Streaming ----- Nov 12, 2015, 12:46:15 PM ----- 1 hr 28 min 
Streaming ----- Nov 12, 2015, 12:43:59 PM ----- 1 hr 30 min 
Streaming ----- Nov 12, 2015, 12:41:17 PM ----- 1 hr 33 min 
Streaming ----- Nov 12, 2015, 12:36:44 PM ----- 5 min 32 sec 
Streaming ----- Nov 12, 2015, 12:03:06 PM ----- 34 min 23 sec 
Streaming ----- Nov 12, 2015, 11:55:00 AM ----- 8 min 55 sec 
Streaming ----- Nov 12, 2015, 11:23:38 AM ----- 31 min 47 sec 
Streaming ----- Nov 12, 2015, 11:07:25 AM ----- 16 min 30 sec 
Streaming ----- Nov 12, 2015, 9:54:50 AM ----- 1 hr 11 min 
Streaming ----- Nov 11, 2015, 5:10:36 PM ----- 16 hr 44 min 
Streaming ----- Nov 11, 2015, 4:57:15 PM ----- 13 min 52 sec 
Streaming ----- Nov 11, 2015, 4:48:52 PM ----- 3 min 59 sec 
Streaming ----- Nov 11, 2015, 4:41:16 PM ----- 11 min 49 sec 
Streaming ----- Nov 11, 2015, 4:32:01 PM ----- 21 min 6 sec 
Batch ----- Nov 10, 2015, 3:36:09 PM ----- 1 min 37 sec 
Batch ----- Nov 10, 2015, 2:41:28 PM ----- 1 min 48 sec 
Batch ----- Nov 10, 2015, 2:37:17 PM ----- 1 min 39 sec 

Это было только тест с небольшим количеством данных, так что ничего безумного вообще, чем получить несколько элементов из PubSub, чтобы понять, как SDK и окружающая среда работает.

Google Compute Dataflow Stream Processing VM running on Standard Intel N1 4 VCPU 51,192 Minutes $140.78 
Google Compute Standard Intel N1 4 VCPU running in NA 51,192 Minutes $170.64 

(Ради упрощения, я буду игнорировать 3 пакетных заданий, которые длились менее 2 минут каждый, они на самом деле отношение к следующим).

Из всего этого, несколько вопросов:

1) Могу ли я что-то отсутствует в плане затраченного времени? 51 192 минуты составляет 853,2 часа, что намного больше, чем сумма всех моих рабочих мест. Я понимаю, что запуск экземпляра выполняется не менее 10 минут, но даже с этим я все еще далеко от 51 192 минут. Учитывая продолжительность, 853,2 часа x 11 GCEU x 0,015 $/GCEU/hours = 140,78 $, которая идет по заявлению о выставлении счета, но я хотел бы лучше понять, как вычисляется общая продолжительность. EDIT: 51 192 минуты - это примерно в 3 раза больше суммы всех моих заданий. Является ли этот фактор 3 связанными с 3 работниками, которых я настроил?

2) Можно ли настроить тип экземпляров, используемых конвейером? Для такого теста, который я выполнял, использование экземпляров n1-standard-4 действительно слишком велико для того, что я пытался сделать. Является ли это настраиваемым в плагине или консоли Eclipse? EDIT: Нашел ответ на этот вопрос

3) Я никогда раньше не замечал, что у меня было 3 рабочих, начиная каждый раз, когда я начинал работу. Я никогда не настраивал что-либо, связанное с этим. Я думаю, что это число рабочих по умолчанию для рабочих при создании конфигурации запуска в Eclipse? EDIT: Найти ответ

ответ

6

Спасибо за попытку Dataflow - мы рады, что вам понравилось!

  1. Истекшее время измеряет использование GCE VM. Как вы упомянули в редактировании, 3 рабочих = 3 виртуальных машины, поэтому существует коэффициент 3, связанный с фактическим временем VM.
  2. Вы можете установить опцию --workerMachineType, как указано в Setting Other Cloud Pipeline Options.
  3. 3 - количество работников по умолчанию, связанное с конвейером. Он может быть указан явно с помощью --numWorkers, хотя это предотвратит корректировку количества рабочих работников autoscaling. Как указано там, вы можете использовать --maxNumWorkers вместо этого, чтобы ограничить верхнюю границу, позволяя автомасштабированию настраивать фактическое количество рабочих.

Возможно, вы захотите использовать локальный бегун для выполнения трубопровода на своей машине во время разработки. Похоже, что количество данных, которые вы тестируете, достаточно мало, чтобы вам не нужно масштабировать работу службы. Вы можете использовать PubSubIO, чтобы создать ограниченный источник, который будет работать с местным бегуном, вызывая maxNumRecords или maxReadTime.

+0

Большое спасибо, он подтверждает, что я думал. В то же время я смог найти параметры для настройки типа экземпляра и количества рабочих. Начал играть с местным бегуном, наконец, сработал. Однако местный бегун не работает с PubSubIO, как указано в документации. Пробовал это в этот уик-энд и получил «никакого оценщика, зарегистрированного для PubsubIO.Read» – kzeon

+0

Общий 'PubsubIO.Read' не работает с местным бегуном. Если вы используете 'maxNumRecords' или' maxReadTime', как указано, он должен работать, потому что. –

Смежные вопросы