У меня возникла та же проблема, и кажется, что проблема в том, что Heroku требует более нового драйвера JDBC, чем тот, который требуется Amazon. Смотрите эту тему:
Конвейеры данных AWS с базой данных Heroku
Также кажется, что вы можете использовать jbdc непосредственно из ваших скриптов на python. Смотрите здесь:
https://dzone.com/articles/extract-data-into-aws-glue-using-jdbc-drivers-and
Похоже, вам нужно скачать новый драйвер, загрузить его на s3, а затем вручную использовать его в своих скриптах, как указано здесь:
https://gist.github.com/saiteja09/2af441049f253d90e7677fb1f2db50cc
Удачи!
ОБНОВЛЕНИЕ: я смог использовать следующий фрагмент кода в работе склеивания для подключения к данным. Мне пришлось загрузить драйвер Postgres на S3, а затем добавить его в путь к моей работе с клеем. Также убедитесь, что файлы Jar общедоступны или вы настроили политику пользователя IAM таким образом, чтобы он имел доступ к корзине.
%pyspark
import sys
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.dynamicframe import DynamicFrame
from awsglue.transforms import *
glueContext = GlueContext(SparkContext.getOrCreate())
source_df = spark.read.format("jdbc").option("url","jdbc:postgresql://<hostname>:<port>/<datbase>“).option("dbtable", “<table>”).option("driver", "org.postgresql.Driver").option("sslfactory", "org.postgresql.ssl.NonValidatingFactory").option("ssl", "true").option("user", “<username>”).option("password", “<password>”).load()
dynamic_dframe = DynamicFrame.fromDF(source_df, glueContext, "dynamic_df")