はじめに

この自習型ガイドは、Databricks を使用している Apache Spark のための「Hello World」チュートリアルです。この後の各チュートリアルモジュールでは、Spark ジョブの作成、データの読み込み、およびデータ操作の基本について学びます。また、機械学習アルゴリズムの実行とストリーミングデータの操作についてもご紹介します。Databricks なら Spark クエリを即座に作成できるため、データ自体の問題の方に注力できます。

Apache Spark チュートリアルについて

ナビゲーションバーにマウスポインタを合わせると、Databricks で Apache Spark の使用を開始するための 6 つの段階が表示されます。このガイドでは、まずオープンソースの Apache Spark の使い方について簡単に説明し、次にこの知識を活用して Spark SQL で Spark DataFrame を使用する方法を学びます。また、データセットの使用方法と、DataFrames およびデータセットの統合方法についてもご説明します。このガイドには、機械学習とストリーミングのクイックスタートも含まれており、データの問題に簡単に適用することができます。これらの各モジュールは、ノートブックやデータセットを使用した、IoT や住宅販売などのスタンドアロン用途のシナリオを参照しているため、安心して利用できます。

Apache Spark の概要

spark-logo-trademark

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

「Databricks では、Spark コードベースと、その周辺のサポートマテリアルの両方に対する取り組みを通じて、これまで以上に Spark を使いやすく、簡単に実行できるよう努力しています。Spark での作業はすべてオープンソースであり、直接 Apache で実行されます」

Matei Zaharia (Apache Spark の VP、Databricks の共同創業者でチーフテクノロジスト)

Spark の詳細は、以下のページにも掲載されています。

Databricks の利用

Databricks is a Unified Analytics Platform on top of Apache Spark that accelerates innovation by unifying data science, engineering and business. With our fully managed Spark clusters in the cloud, you can easily provision clusters with just a few clicks. Databricks incorporates an integrated workspace for exploration and visualization so users can learn, work, and collaborate in a single, easy to use environment. You can easily schedule any existing notebook or locally developed Spark code to go from prototype to production without re-engineering.

ご登録

Databricks のその他の特徴は以下のとおりです。

Find all of our available courses here at https://academy.databricks.com

関連リソース

Spark: Better with Delta Lake

This series of tech talk tutorials takes you through the technology foundation of Delta Lake (Apache Spark) and the capabilities Delta Lake adds to it to power cloud data lakes.

動画を見る