文章をもとに、Apache Sparkの主なコンポーネントを教えてください。
Apache Sparkには、クラスタ・マネージャと分散ストレージ・システムが必要です。クラスタ管理については、Sparkはスタンドアロン（ネイティブSparkクラスタ、クラスタを手動で起動するか、インストールパッケージで提供される起動スクリプトを使用することができます）をサポートしています。また、これらのデーモンをテスト用に1台のマシンで実行することも可能です）、Hadoop YARN、Apache Mesos、Kubernetesをサポートしています。分散ストレージについては、SparkはAlluxio、Hadoop Distributed File System（HDFS）、MapR File System（MapR-FS）、Cassandra、OpenStack Swift、Amazon S3、Kudu、Lustreファイル・システム、またはカスタムソリューションが実装可能な、幅広い種類とのインターフェースを提供できる。Sparkは擬似分散ローカルモードもサポートしており、通常は開発またはテスト目的でのみ使用され、分散ストレージは必要なく、代わりにローカルファイル・システムを使用できます。このようなシナリオでは、SparkはCPUコアごとに1つの実行ファイルを持つ単一のマシン上で実行されます。
以下の文章によると、Apache Sparkの主要なコンポーネントとして、クラスタ・マネージャと分散ストレージがあることがわかる。クラスタ・マネージャについては、Sparkはスタンドアロン・クラスタ、またはHadoop YARN、Apache Mesos、Kubernetesをサポートしています。ストレージについては、開発・テスト用のローカルファイル・システム、Hadoop File System、Cassandra、クラウド・ストレージをサポートしています。