spark: jdbc parallelism
EMR ZeppelinでSparkを実行し、jdbcを介してデータベースデータを並列にインポートする方法
Sparkが提供するPartitionColumn、LowerBound、Upbound、およびNumPartitionsパラメータを使用して、JDBC読み取り操作時に並列処理を要求できます.partitionColumn:適用パーティションのカラム名 LowerBound:パーティション範囲の最小値 Upper Bound:パーティション範囲の最大値 numPartitions:パーティション数 サンプルコード「partitionColumn」オプションで指定した列は、数値、日付、タイムスタンプ形式の列でなければなりません. 「query」オプションは「partionColumn」オプションと併用できません. 指定した「numPartitions」オプションの値が大きすぎると、外部データベースシステムが破損する可能性があります(この場合はredshift). reference
https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html
Sparkが提供するPartitionColumn、LowerBound、Upbound、およびNumPartitionsパラメータを使用して、JDBC読み取り操作時に並列処理を要求できます.
df = spark.read.format("jdbc").option("driver", jdbc_driver_name)\
.option("url", db_url).option("dbtable", table_name)\
.option("user", db_username).option("password",db_password)\
.option('partitionColumn','event_id')\
.option('lowerBound','1').option('upperBound','200')\
.option('numPartitions','8').load()
注意事項https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html
Reference
この問題について(spark: jdbc parallelism), 我々は、より多くの情報をここで見つけました https://velog.io/@yozzum/spark-jdbc-parallelismテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol