sql >> Database >  >> RDS >> PostgreSQL

Postgresql JDBC-bron gebruiken met Apache Spark op EMR

Ik denk dat je postgres jar niet in slaves hoeft te kopiëren, omdat het stuurprogramma en de clustermanager voor alles zorgen. Ik heb op de volgende manier een dataframe van de externe bron van Postgres gemaakt:

Postgres driver jar downloaden :

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

Dataframe maken :

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()

Verzenden naar Spark Job: Voeg de gedownloade jar toe aan het pad van de driverklasse terwijl u de vonkopdracht indient.

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


  1. Is het mogelijk om naar kolomnamen te verwijzen via bindvariabelen in Oracle?

  2. Selecteer meerdere id's uit een PostgreSQL-reeks

  3. Wat zijn realtime-apps?

  4. Gegevens verwijderen uit een MySQL-database