Добавление драйвера JDBC в AWS Glue для существующего кода Spark

#apache-spark #aws-glue

#apache-spark #aws-glue

Вопрос:

Я пытаюсь запустить существующий код Spark (Scala) на AWS Glue.

В этом коде используется, spark.read.option("jdbc") и я добавлял драйвер JDBC в Spark classpath с spark.driver.extraClassPath опцией.

Это отлично работает как локально, так и на EMR, предполагая, что я могу скопировать драйвер из S3 в экземпляры сначала с помощью действия начальной загрузки.

Но какой эквивалент в Glue? Если я добавлю драйвер в опцию «зависимые JAR», это не сработает, и я получу ошибку «нет подходящего драйвера», предположительно, потому, что JAR должен быть виден собственному загрузчику классов Spark.

Ответ №1:

Отредактируйте свое задание, и в конце экрана вы увидите опцию библиотеки.

И необходимы некоторые опции, смотрите последнюю часть документации.


введите описание изображения здесь

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

1. Я добавил свой JAR в «dependent jars path», и это работает для моих других классов Scala, но не для драйвера JDBC.

2. кажется, что yiu нужно добавить несколько дополнительных опций.

3. Хорошо, это может быть действительно глупой проблемой с моей стороны — я думаю, что у меня были опечатки в URL JDBC, jdbc: vendor: hostname вместо jdbc: vendor: // hostname, и это проявилось как ошибка «нет подходящего драйвера».

4. Всегда и для всех. 🙂