sql >> データベース >  >> RDS >> PostgreSQL

EMR上のApacheSparkでPostgresqlJDBCソースを使用する

    ドライバープログラムとクラスターマネージャーがすべてを処理するため、postgresjarをスレーブにコピーする必要はないと思います。次の方法でPostgres外部ソースからデータフレームを作成しました:

    postgresドライバーjarをダウンロード

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

    スパークジョブに送信: Sparkジョブを送信するときに、ダウンロードしたjarをドライバークラスパスに追加します。

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


    1. JDBC SQLServerException:このドライバーは統合認証用に構成されていません。

    2. OracleDECODEに代わる標準SQL

    3. SQLServerでのテキスト修飾子を使用した一括挿入

    4. MySQLに複数のデータを挿入し、存在する場合は更新します