Предварительные условия
Совместимость версий
- Версии MySQL сервера:
- Официально объявленные: 8.0 - 9.2
- Фактически протестированные: 5.7.13, 9.2.0
- Версии Spark: 2.3.x - 3.5.x
- Версии Java: 8 - 20
Установка PySpark
Чтобы использовать MySQL коннектор, у вас должен быть установлен PySpark (или добавлен в sys.path) ДО создания экземпляра коннектора.
См. инструкцию по установке для получения более подробной информации.
Подключение к MySQL
Хост подключения
Возможно подключение к MySQL, используя либо DNS-имя хоста, либо его IP-адрес.
Если вы используете кластер MySQL, в текущий момент возможно подключение только к одному конкретному узлу. Подключение к нескольким узлам для выполнения балансировки нагрузки, а также автоматическое переключение на новый мастер/реплику не поддерживаются.
Порт подключения
Подключение обычно осуществляется к порту 3306. Порт может отличаться для разных экземпляров MySQL. Пожалуйста, попросите вашего администратора MySQL предоставить необходимую информацию.
Необходимые привилегии
Попросите вашего администратора кластера MySQL установить следующие привилегии для пользователя, используемого для создания подключения:
-- разрешить создание таблиц в целевой схеме
GRANT CREATE ON myschema.* TO username@'192.168.1.%';
-- разрешить доступ на чтение и запись к определенной таблице
GRANT SELECT, INSERT ON myschema.mytable TO username@'192.168.1.%';
```sql Только чтение
-- разрешить доступ на чтение к определенной таблице
GRANT SELECT ON myschema.mytable TO username@'192.168.1.%';
```
В приведенном примере '192.168.1.%'' является подсетью 192.168.1.0 - 192.168.1.255
где работают драйвер и исполнители Spark. Чтобы разрешить подключение пользователю с любого IP, используйте '%' (небезопасно!).
Более подробную информацию можно найти в официальной документации.