1
spongデータフレームをmongodbに書き込もうとしたとき、sparkがそれを行うタスクを1つだけ作成することがわかりました。これは、ジョブ内に多くのエグゼキュータを割り当てても、実際に実行中のエグゼキュータは1人だけなので、パフォーマンスが低下します。SparkでMongoDBにデータを書き込む
私の部分pysparkコード:
df.write.format("com.mongodb.spark.sql.DefaultSource") \
.mode("append") \
.option("spark.mongodb.output.uri", connectionString) \
.save()
は、この場合には、複数のタスクを実行しているスパークもらえますか?おかげ
スパークが提出:
spark-submit --master yarn --num-executors 3 --executor-memory 5g --jars $JARS_PATH/mongo-java-driver-3.5.0.jar,$JARS_PATH/mongodb-driver-core-3.5.0.jar,$JARS_PATH/mongo-spark-connector_2.11-2.2.1.jar spark-mongo.py
私は私が疑われるように、この情報
INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0, linxtd-itbigd04, executor 1, partition 0, PROCESS_LOCAL, 4660 bytes)
INFO BlockManagerMasterEndpoint: Registering block manager linxtd-itbigd04:36793 with 1458.6 MB RAM, BlockManagerId(1, linxtd-itbigd04, 36793, None)
INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on linxtd-itbigd04:36793 (size: 19.7 KB, free: 1458.6 MB)
INFO TaskSetManager: Finished task 0.0 in stage 0.0 (TID 0) in 17364 ms on linxtd-itbigd04 (executor 1) (1/1)
質問は?あなたは何の質問もしていません。あなたがここに書いたのは、あなたがしたこととあなたが「考える」ことの「声明」です。あなたは何を求めていますか? –
あなたのspark submitコマンドとあなたの環境の詳細を共有してください –
@ここでどのような種類のタスクについて話していますか?データの保存を意味する場合は、通常これが起こります。ボトルネックはネットワークIOであり、クラッシュする前にmongoがどれくらいの量のデータを取り込めるかです。 – eliasah