Apache Spark

Apache Spark とは、ビッグデータと機械学習のための非常に高速な分散処理フレームワークです。これはもともと、2009 年にカリフォルニア大学バークレー校で開発されました。

データ処理で最大のオープンソースプロジェクト

ビッグデータ分析に最適なオープンソースの分散処理システムであるApache Sparkはそのリリース以来、さまざまな業種の企業に採用され、急速な拡大を遂げています。Netflix、Yahoo、eBay などのインターネット大手も、Spark を大規模にデプロイし、8000 を超えるノードのクラスターで、複数のペタバイトデータをまとめて処理しています。Apache Spark は現在、250 を超える組織から 1000 名以上が参加する、ビッグデータの最大のオープンソースコミュニティへと急速に成長しています。
apache spark コミュニティのイメージ

Databricks は、カリフォルニア大学バークレー校で Spark の研究プロジェクトを開始したチームによって 2013 年に設立されました。

Apache Spark は 100% オープンソースで、ベンダーに依存しない Apache Software Foundation によってホストされています。Databricks では、このオープンな開発モデルを維持することに全力で取り組んでいます。Databricks は Spark コミュニティと協力し、開発とコミュニティの活動の両方を通じて Apache Spark プロジェクトに大きく貢献しています。


Apache Spark エコシステム

Spark SQL + DataFrame

構造化されたデータ: Spark SQL

多くの Data Scientist、アナリスト、一般的なビジネスインテリジェンスユーザーは、データの解析に対話型の SQL クエリに活用しています。Spark SQL は、構造化データ処理のための Spark モジュールです。DataFrames と呼ばれるプログラミングの抽象化が可能で、分散型 SQL クエリエンジンとしても機能します。これにより、既存のデプロイやデータで未修正の Hadoop Hive クエリを最大 100 倍の速さで実行できるようになりました。また、他の Spark エコシステムと統合することも可能です。(例: SQL クエリ処理と機械学習の統合)

ストリーミング

ストリーミング分析: Spark ストリーミング

多くのアプリケーションは、バッチデータだけでなく、新しいデータストリームをリアルタイムで処理し、分析する機能も必要とします。Spark 上で実行する Spark Streaming は、Spark の使いやすさと耐障害性という特性を継承しつつ、ストリーミングデータと履歴データの両方にて、対話型の優れた分析アプリケーションを可能にします。また HDFS、Flume、Kafka、Twitter など、一般的に使われているさまざまなデータソースと簡単に統合することも可能です。

MLlib 機械学習

機械学習: MLlib

機械学習は、ビッグデータのマイニングにおいて実用的な洞察を得るための重要な機能として、急速に台頭してきました。Spark 上に構築された MLlib は、高品質のアルゴリズム (精度を上げるための複数の反復など) と、超高速処理 (MapReduce と比べて最大100 倍の速度) の両方を提供するスケーラブルな機械学習ライブラリです。このライブラリは、Spark アプリケーションの一部として Java、Scala、および Python で使用可能であり、完全なワークフローに含めることができます。

GraphX グラフ計算

グラフ計算: GraphX

GraphX は Spark 上に構築されたグラフ計算エンジンです。これによりユーザーは大きな規模にて、インタラクティブにグラフ構造データを構築、変更、および判断することができます。GraphX は、共通アルゴリズムのライブラリを備えています。

Spark Core API

一般的な実行: Spark Core

Spark Core は、Spark プラットフォームの基盤となる一般的な実行エンジンです。その他の機能はすべて、その上に構築されています。高速処理を実現するインメモリコンピューティング機能、さまざまなアプリケーションをサポートする一般化された実行モデル、および開発を容易にする Java、Scala、および Python API を提供します。

R
SQL
Python
Scala
Java

Apache Spark とは何か - Hadoopに対する Apache Spark の優位性

スピード

ボトムアップでパフォーマンスを向上させるように設計された Spark は、メモリコンピューティングやその他の最適化を活用することで、Hadoop の 100 倍の速度で大規模データを処理できます。また、Spark はデータがディスクに格納されている場合にも高速処理が可能です。現在、大規模なディスク上のソートについて、世界記録を保持しています。

使いやすさ

Spark は大規模なデータセットを操作するための使いやすい API を備えています。これには、データを変換するための 100 以上の演算子と、半構造化データを操作するための使い慣れたデータフレーム API が含まれています。

統合エンジン

Spark は、SQL クエリ、ストリーミングデータ、機械学習、グラフ処理のサポートといった、高レベルのライブラリと一緒にパッケージ化されています。これらの標準ライブラリは開発者の生産性を向上させます。また、シームレスに組み合わせることで複雑なワークフローを作成することができます。

Databricks クラウドで Apache Spark を無料でお試しください。

Databricks の統合分析プラットフォームは、分散処理システムの Spark、対話型ノートブック、統合されたワークフロー、およびエンタープライズセキュリティについて、5 倍のパフォーマンスを提供します。これらはすべて、フルマネージド型のクラウドプラットフォームで実行されます。

Databricks 無料トライアル

オープンソースの Apache Spark プロジェクトはこちらからダウンロード可能です。