ApacheSparkはフレームワークです オープンソースクラスターコンピューティング クラスタープログラミング用のインターフェースを提供します Sparkプロジェクトのコードベースがメンテナンスを担当するApacheSoftware Foundationに寄贈された、暗黙的なデータ並列処理とフォールトトレランスを備えています。
Apache Spark 汎用の速度指向のクラスターコンピューティングシステムと見なすことができます.
APIを提供する Java、Scala、Python、R、さらに 最適化されたエンジンも提供します 一般的にグラフの実行をサポートします。
さらに 豊富で豊富な高レベルツールのセットをサポートします その中で私は知っています SparkSQLを含める (SQLベースの構造化データ処理用)、機械学習を実装するためのMLlib、グラフ処理用のGraphX、およびSparkStreaming。
SparkSQLはモジュールです Apache Spark 構造化データを操作するためのもので、Sparkアプリケーションで非常に人気があります。 Apache Sparkの作成者によって設立されたDatabricksによると、PythonやScalaの開発者でさえ、SparkSQLエンジンを使用して多くの作業を行っています。
Sparkは今日、ビッグデータ処理、データサイエンス、機械学習、およびデータ分析のための事実上のフレームワークです。
Apache Spark3.0について
今 フレームワークはバージョン3.0にあります そして最も重要な新機能の中で、次のことに注意する必要があります Spark3.0はXNUMX倍高速です とりわけTPC-DSに依存することにより、以前のバージョンよりも。
このパフォーマンスの向上は達成されました 改善を通じて アダプティブクエリの実行など、動的パーティションのプルーニングおよびその他の最適化。 ANSISQL標準への準拠も改善されました。
Spark 3.0は、3400を超えるチケットが解決されたメジャーバージョンですが、メジャー変更の範囲内でのみ それらは、とりわけSQLとPythonの主な新機能に限定されています。
アパッチ スパーク 3.0 SQLとPythonのサポートを大幅に改善することで、この立場を強化します。 今日Sparkで最も広く使用されているXNUMXつの言語であり、すべてのレベルで多くの最適化を提供します。
Python用のSparkAPIであるPySparkは、PythonパッケージインデックスであるPyPIで月間5万回以上ダウンロードされています。 多くのPython開発者 APIはデータ分析に使用されますが、単一ノードの処理に限定されています。
したがって、Pythonは Spark3.0の開発の重要な領域。 Apache SparkでのAPI開発が加速され、分散環境でビッグデータを操作する際のデータサイエンティストの生産性が向上しました。
コアラは多くの関数を作成する必要性を排除します クラスターでのパフォーマンスを向上させるためのPySparkの(グラフィックサポートなど)。
これまでのところ、Sparkの役割はETL(Extract Transform Load)の役割に限定されていることが多いと言えます。
これにより、Pythonタイプのヒントや追加のパンダUDF(ユーザー定義関数)など、APIが特に大幅に改善されます。
Spark 3.0は、より優れたPythonエラー処理を提供します。 また、ユーザー定義のR関数の呼び出しは最大40倍高速です。
Spark 3.0では、 すべての修正の46%はSQL機能に関するものでした、パフォーマンスとANSI互換性の両方が向上しています。
それは言った、 Spark SQLエンジンのXNUMXつの最も重要な新機能は、アダプティブクエリの実行です。
最適化方法 クエリは通常、静的クエリの最適化に重点を置いています。
Sparkではストレージと処理が分離されているため、データの到着が予測できない場合があります。 これらの理由から、Sparkでは、従来のシステムよりも適応クエリの実行が重要になります。
リリースノートで確認できる機能は他にもたくさんあります。 データソース、エコシステム、監視、デバッグなどをカバーする機能。
リリースノートを確認できます 次のリンクにアクセスしてください。