Требования к установке ADB Spark 3 Connector

Чек-лист

Перед установкой и использованием ADB Spark 3 Connector убедитесь в том, что выполнены следующие требования:

  • Есть доступ к кластеру ADB.

  • Есть доступ к кластеру Spark 3.

  • Есть соединение между нодой ADB master и драйвером Spark 3.

  • Есть соединение между нодой ADB master и каждой executor-нодой Spark 3.

  • Есть соединение между нодой каждого сегмента ADB и каждой executor-нодой Spark 3.

Необходимо предоставить особые права пользователю, от имени которого будет осуществляться доступ из Spark 3 к таблицам ADB. Эти права включают создание внешних таблиц. Вы можете использовать следующий образец:

ALTER ROLE <role_name>
WITH    CREATEEXTTABLE(protocol='gpfdist',type='readable')
        CREATEEXTTABLE(protocol='gpfdist',type='writable');

где <role_name> — имя пользователя в ADB.

Также потребуется настроить доступ выбранного пользователя к таблицам ADB c хостов Spark 3 в файле pg_hba.conf (см. Примеры использования ADB Spark 3 Connector).

Память

Spark 3 работает нормально при любом количестве памяти между восемью и несколькими сотнями гигабайт на рабочую машину. Для Spark 3 мы рекомендуем аллоцировать, самое большее, 75% памяти — оставьте остальное для операционной системы и кеша буфера.

Количество требуемой памяти зависит от приложения. Чтобы определить количество памяти, необходимое приложению для определённого набора данных, загрузите часть вашего набора данных в Spark 3 RDD, затем перейдите на вкладку Storage в UI для мониторинга Spark 3 (http://<driver-node>:4040) и посмотрите количество памяти для этой части данных. На использование памяти влияют уровень хранения (storage level) и формат сериализации. В руководстве по настройке вы можете найти советы о том, как снизить использование памяти.

ПРИМЕЧАНИЕ
Виртуальная машина Java не всегда хорошо работает, если объём RAM превышает 200 ГБ. Если вы приобрели машины с большим объёмом RAM, вы можете запустить несколько виртуальных worker-машин Java на каждой ноде. Для standalone-режима Spark 3 вы можете установить число worker-машин на ноде с помощью переменной SPARK_WORKER_INSTANCES в скрипте conf/spark-env.sh. Вы также можете установить число ядер на worker-машине с помощью переменной SPARK_WORKER_CORES.

Сетевое соединение

ADB Spark 3 Connector использует протокол gpfdist для передачи данных между сегментами ADB и execution-нодами Spark 3. По умолчанию, коннектор запускает инстанс сервера gpfdist в диапазоне портов [8080 .. 65536].

ВАЖНО
Удостоверьтесь, что в вышеуказанном диапазоне есть открытые порты. Порты должны быть доступны из ADB master.
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней