です。私はRDDで作業していたいくつかのプロジェクトの後にデータセットを扱うようになっています。私は開発のためにJavaを使用しています。データセットでwithColumnを呼び出すコストは
私の知る限り、列は不変です。列のマップ機能はありません。列をマップする標準的な方法では、withColumn
という列を追加しています。
私の質問はwithColumnを呼び出すと本当に何が起こっているのですか?パフォーマンスのペナルティはありますか?私は可能な限り少ない数の電話をwithColumn
にしようとするべきですか、それとも問題ありませんか?
質問:私が爆発やピボットなどの他の行/列作成機能を呼び出すと、パフォーマンス上のペナルティはありますか?
withColumnでは、ほとんどありません。メタデータの変更です。ピボットは、データセットをグループ分けしてから使用することができ、高価になります。 – philantrovert
Spark 2.2より前のSpark 2では、爆発が非常に遅くなる可能性があります。https://issues.apache.org/jira/browse/SPARK-21657 –