2023年のPySpark:1年を振り返って
2023年にリリースされたApache Spark 3.4と3.5で、私たちはPySparkのパフォーマンス、柔軟性、使いやすさの改善に重点を置きました。 このブログ記事では、主な改善点をご紹介します。 2023年にApache Spark 3.4と3.5で追加された最も重要な機能の概要です: Spark Connect は、任意のアプリケーションからSparkクラスタへのリモート接続を可能にする、クライアントとサーバーを分離したアーキテクチャを導入しています。 これにより、サービスとしてのSparkは、安定性、アップグレード可能性、可観測性を高めながら実現されます。 Arrowに最適化されたPythonユーザー定義関数(UDF )では、Arrowのカラムナーフォーマットを活用することで、通常のPython UDFの2倍のパフォーマンスを実現し、飛躍的な効率の向上を示しました。 Pythonのユーザー定義テーブル関数(UDTF) により、ユーザーはPySparkでネイティブにテーブルベースの変換を実行できるように
Spark ConnectにおけるPythonの依存関係の管理方法
分散コンピューティング環境におけるアプリケーションの環境管理は難しい。 すべてのノードがコードを実行するのに必要な環境を持っていることを保証し、ユーザーのコードの実際の場所を決定することは、複雑なタスクである。 Apache Spark™は、Conda、venv、PEXなど様々な方法を提供している。 --jars、--packagesの ようなスクリプトオプションや、 spark.jars.*の ようなSparkコンフィギュレーションをサブミットする方法と 同様に、 PySparkでPythonの依存関係を管理する方法も併せて参照してみてください。これらのオプションにより、ユーザーはクラスタ内の依存関係をシームレスに処理できる。 しかし、Apache Sparkの依存関係を管理するための現在のサポートには限界がある。 依存関係は静的にしか追加できず、実行中に変更することはできない。 つまり、Driverを起動する前に必ず依存関係を設定する必要がある。 この問題に対処するため、Apache Spark 3.5.0か