Обработка DataProc занимает более 3 часов, чем ожидалось, менее 15 минут

# #performance #google-cloud-platform #google-cloud-dataproc #data-processing #dataproc

Вопрос:

Я перенес часть приложения C для обработки на DataProc, используя задания PySpark (чтение и запись в большой объем данных — около 10 ГБ) . Приложение C, которое запускается за 8 минут в локальном центре обработки данных, занимает около 4 часов на обработку данных . Может ли кто-нибудь посоветовать мне оптимальную конфигурацию процесса обработки данных ? В настоящее время я использую ниже один :

—главная машина типа n2-highmem-32 —главный загрузочный диск типа pd-ssd —главный загрузочный диск размером 500 —число рабочих 2 —рабочий тип машины n2-highmem-32 —рабочий загрузочный диск типа pd-ssd —рабочий загрузочный диск размером 500 —образ версии 1.4-debian10

Буду очень признателен за любую помощь в оптимальной конфигурации dataproc .

Спасибо, РП

Комментарии:

1. Какова конфигурация оборудования в вашем центре обработки данных? Вы указываете » —num-работники 2`. Для заданий, которые выигрывают от распараллеливания, два рабочих узла не принесут большой пользы, если таковые имеются, если учесть накладные расходы на выполнение заданий. Отредактируйте свой вопрос, указав подробную информацию как о средах, так и о выполняемом коде. В качестве подсказки, n2-highmem-32-это небольшая виртуальная машина. Мой рабочий стол, вероятно, в 10 раз быстрее. При сравнении систем сравните равные системы по объему памяти, процессора, сети и дискового ввода-вывода.

2. Можете ли вы поделиться командой, которую вы используете для запуска этого задания в Datparoc? Кроме того, как вы распараллеливаете обработку в Spark? Какие данные обрабатываются и как вы их разделяете?

Ответ №1:

Вот несколько хороших статей о настройке производительности работы в Dataproc: советы по настройке заданий Spark и 10 вопросов о производительности кластера Hadoop и Spark.