मुझे लगता है कि आपको दासों में पोस्टग्रेज जार को कॉपी करने की आवश्यकता नहीं है क्योंकि ड्राइवर प्रोग्राम और क्लस्टर मैनेजर सब कुछ ध्यान रखते हैं। मैंने निम्नलिखित तरीके से Postgres बाहरी स्रोत से डेटाफ़्रेम बनाया है:
पोस्टग्रेज ड्राइवर जार डाउनलोड करें :
cd $HOME && wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar
डेटाफ़्रेम बनाएं :
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()
स्पार्क जॉब के लिए सबमिट करें: स्पार्क जॉब सबमिट करते समय डाउनलोड किए गए जार को ड्राइवर क्लास पाथ में जोड़ें।
--properties spark.driver.extraClassPath=$HOME/postgresql-42.2.5.jar,spark.jars.packages=org.postgresql:postgresql:42.2.5