Sparkはインメモリ処理を活用したバッチ処理・ストリーム処理・機械学習・グラフ処理を統合的にサポートする分散処理エンジンとして設計されている。SQL、Python(PySpark)、Scala、Javaなど複数言語のAPIを提供し、多様なワークロードに対応する。
バッチ処理・ストリーム処理・機械学習を統一基盤で扱いたい場合の課題に対するApache Sparkの役割を対象とする。
複数のワークロードタイプを単一のエンジンで統合的にサポートする点が、用途特化型のツールとの違いとなる。