sql >> Databasteknik >  >> RDS >> PostgreSQL

Använder Postgresql JDBC-källa med Apache Spark på EMR

Jag tror att du inte behöver kopiera postgres jar i slavar då drivrutinprogrammet och klusterhanteraren sköter allt. Jag har skapat en dataram från Postgres externa källa på följande sätt:

Hämta postgres driver jar :

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

Skapa dataram :

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

Skicka in till sparkjobb: Lägg till den nedladdade burken till sökvägen för förarklass medan du skickar in sparkjobbet.

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


  1. MySQL versionskontroll - Subversion

  2. Långsam start av SQL Reporting Services 2008 i ursprungligt läge

  3. Hur installerar man pyodbc 64-bitars?

  4. Konvertera Javascript-tid till MySQL-format med PHP