PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utilisation de la source Postgresql JDBC avec Apache Spark sur EMR

Je pense que vous n'avez pas besoin de copier le pot postgres dans les esclaves car le programme pilote et le gestionnaire de cluster s'occupent de tout. J'ai créé une trame de données à partir d'une source externe Postgres de la manière suivante :

Télécharger le pilote jar postgres :

cd $HOME && wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar

Créer une trame de données :

atrribute = {'url' : 'jdbc:postgresql://{host}:{port}/{db}?user={user}&password={password}' \
        .format(host=<host>, port=<port>, db=<db>, user=<user>, password=<password>),
                 'database' : <db>,
                 'dbtable' : <select * from table>}
 df=spark.read.format('jdbc').options(**attribute).load()

Envoyer pour déclencher la tâche : Ajoutez le fichier jar téléchargé au chemin de classe du pilote lors de la soumission de la tâche Spark.

--properties spark.driver.extraClassPath=$HOME/postgresql-42.2.5.jar,spark.jars.packages=org.postgresql:postgresql:42.2.5