PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Usando a fonte JDBC do Postgresql com o Apache Spark no EMR


Eu acho que você não precisa copiar o jar postgres em escravos, pois o programa de driver e o gerenciador de cluster cuidam de tudo. Eu criei dataframe da fonte externa do Postgres da seguinte maneira:

Baixe o jar do driver postgres :
cd $HOME && wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar

Criar dataframe :
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()

Enviar para o trabalho de ignição: Adicione o jar baixado ao caminho de classe do driver ao enviar o trabalho de ignição.
--properties spark.driver.extraClassPath=$HOME/postgresql-42.2.5.jar,spark.jars.packages=org.postgresql:postgresql:42.2.5