#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. Всегда и для всех. 🙂