簡単に行ってしまえば、sparkはJVMで動いています。
pythonのコードをJVMでは知らせるための、変換コストが一点。
同様のmapreduce的なものをpython上でやろうとして、それなりの開発が要るし
https://stackoverflow.com/questions/30684982/how-does-spark-interoperate-with-cpython
https://cwiki.apache.org/confluence/display/SPARK/PySpark+Internals
pythonよりjavaのほうが速い
spark関連の記事
・nullの扱い spark 機械学習でnull valueの扱い
・joinの注意点 spark join で気をつけたほうが良い点 (null値を含んだjoin)
・spark よく出るエラー LiveListenerBus とRejectedExecutionException
・ML 基礎 spark ML pipelineの基礎