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

SparkからPostgresへの分析データの挿入

    現時点では、RDDをDBMSに書き込むネイティブ実装はありません。 Sparkユーザーリストの関連するディスカッションへのリンクは次のとおりです。1つ 、2つ

    一般に、最もパフォーマンスの高いアプローチは次のとおりです。

    1. RDDのパーティション数を検証します。少なすぎても多すぎてもいけません。数が少ない場合は、20〜50のパーティションで問題ありません-repartitionを呼び出します 20パーティションの場合、それより高い場合はcoalesceを呼び出します 50パーティションまで
    2. mapPartitionを呼び出します 変換では、その内部で関数を呼び出して、JDBCを使用してDBMSにレコードを挿入します。この関数では、データベースへの接続を開き、このAPI 、レコードごとに個別のコマンドを使用する必要がなくなります。これにより、挿入がはるかに高速に処理されます。

    このようにして、最大50の並列接続を利用して並列方式でPostgresにデータを挿入します(Sparkクラスターのサイズとその構成によって異なります)。アプローチ全体は、RDDと接続文字列を受け入れるJava/Scala関数として実装される可能性があります



    1. ドキュメントをAzureDataLakeにアップロードし、SSISを使用してデータをエクスポートします

    2. 'xml'をSQLServerにインポートします

    3. DBeaverを介してPostgreSQLデータベースをバックアップおよび復元する方法

    4. MySQLがgroupbyで最大レコードを選択