Spark Summit 2013の内容一覧
こんにちは。
思いっきり見逃していた話なのですが、2013/12にSpark Summit 2013が開催されていました。
幸い、資料はほとんど公開されているようなので、
内容を確認してみようと思うのですが、まずは概要を確認しておこう、ということで内容一覧と概要をまとめてみました。
尚、概要については概要ページが用意されている発表についてはそれを訳し、
存在しないものについては資料の中身をざっと確認して概要を書いています。
先進的な企業に加えて、Yahooのような大きなHadoopクラスタを有する企業でもSparkを取り込み、
既存のデータ解析基盤と統合させようとする動きが出ているのが面白いですね。
加えて、YARN/Mesosの存在によってSparkの導入は「既存機能の置き換え」ではなく、
「既存機能との統合」という流れで発生しているのも興味深いところです。
というわけで、各セッションについて説明します。
Keynotes #1
- The State of Spark, and Where We’re Going Next
- Turning Data into Value
- 世の中にあふれているデータを用いて価値を生み出すという試みが広まり、現在はデータのゴールドラッシュともいえる状態になっている。
- データは利用できて初めて価値を持つが、データを利用するために必要な要素について述べ、Sparkがそれらにどうアプローチしているかを説明する。
- Big Data Research in the AMPLab
Keynotes #2
Track A Applications, Part 1
- Mapping and manipulating the brain at scale
- 動物の振る舞いは神経系において複数の領域に存在する多数のニューロン同士の連携によって決められる。
- 最近の神経系を画像化する新技術は神経系がどのように作用するか、という解析をかつてない規模で可能にしている。
- しかし、このデータ量は既存の技術で実行可能なデータ量を上回っている。時間あたりテラバイト単位の規模でかつ複雑、高次元であるという状況だが、私たちはこれを時間的/空間的に理解したい。
- Sparkは予備的、かつインタラクティブな解析をビッグデータに対して高速で可能にするためユースケースに合致している。現状の取組について説明する。
- なお、現在私たちは本ユースケースに対してSpark Streamingを用いて対応している。
- Beyond Word Count ; Productionalizing Spark Streaming
- Sharing is Caring: Enabling Data Science Teams with Laburnum
- SparkのユーザフレンドリーなAPIによって高速な開発/高い生産性を叩きだすことが可能になっている。
- MesosやYARNといったリソースマネージャが個々のタスクのリソースを分離して実行させている。Tachyonはユーザ間のメモリファイル共有をサポートしているが、現状は私たちは分離したジョブとして記述している。
- この発表では複数のアプリケーション間でコードとデータの共有を行うためにQuantifindで使用されているフレームワークである「Laburnum」について説明する。
- Laburnumを使用することで、私たちはユーザに対してSparkについて学習することなく統合されたWebAPIを用いたビッグデータに対するアドホック解析を提供している。
- A Full-Featured Enterprise Big Data Analytics Solution, Powered By Spark
- この発表ではAdataoがSparkを利用してどのようにフル機能を備えたビジネス解析ソリューションを提供しているかを説明する。
- 機能としてはWebベースのレポート/可視化/出力といった基本的なものから大規模データに対するインタラクティブかつリアルタイムなデータマイニング/機械学習といった先進的な機能まで含まれる。
- これらの機能はこれまでは何時間という単位で時間が必要であったが、現在は秒単位の時間で提供することが可能になっている。
- Spark/Shark/HDFSといったバックエンドとRやPythonというフロントエンドAPIを用いて私たちがどのようにこれを実現したかについて説明する。
- また、併せてこの解析機能のユースケースからどのように機能の開発/デプロイをすればいいか私たちが学んだことについても議論したい。
Track A Applications, Part 2
- Real-Time Analytical Processing (RTAP) Using the Spark Stack
- Using Spark/Shark for Fast-cycle Analysis on Diverse Data
- ClearStory Dataにおいて、私たちは多種多様なデータを素早いサイクルで解析するのに最適化された解析スタックを保持している。
- このセッションではSpark/Sharkを用いることによって私たちがどうこのような解析が可能になったか、何故Sparkを採用したかについて説明する。
- 特に、SparkをはじめとしたAmpLabのプロダクトを使うことでどのように私たちのデータ解析がレバレッジされたかを重点的に説明しようと思う。
- Yahoo Audience Expansion: Migration from Hadoop Streaming to Spark
Track A Applications, Part 3
- Towards Distributed Reinforcement Learning for Digital Marketing with Spark
- One platform for all: real-time, near-real-time, and offline video analytics on Spark
- Collective Intelligence for Data Center Operations Management
- 企業のデータセンターにおいて仮想化は有益な半面、誰がどのリソースにどう接続して使っているかが動的になるため、チャレンジングでもある。
- CloudPhysicsはこれらの課題に対応し、管理が可能なSaaSを開発している。
- 私たちは数百のユーザを抱えており、1日100bilionのデータを扱い、10万以上の仮想マシン/物理マシンを管理している。
- ユーザを跨いだ解析状況を提供するツールとしてSpark/Spark Streamingが使用されている。これらのツールによってパターンを抽出し、傾向や異常値の判定からくるユーザへの通知が可能になっている。
- この発表ではSparkから収集した集計統計結果からくるベストプラクティスなチューニング、およびアーキテクチャについて説明する。
- Unveiling the TupleJump Platform
Track B Deployment
- Making Spark Fly: Building elastic and highly available Spark clusters with Amazon Elastic MapReduce
- One platform for all: real-time, near-real-time, and offline video analytics on Spark
- Flint: Making Sparks (and Sharks!)
- Spark Integration Into an Enterprise BigData Stack: Successes & Challenges
- Packaging Spark for Fedora
- OSSプロジェクトにおいて、高品質なディストリビューションが提供されることはユーザにとってインストール/アップデート/依存性の解決を容易にし、非常に重要である。
- 私たちは下流のパッケージャが詳細な部分に焦点を当てるのではなく、むしろ上流のパッケージャに対して拡張や修正の情報を提供することで全体としての品質向上につながる流れを作っている。
- この発表ではこのモデルの利点をSparkのFedora用パッケージ構築を実例として説明する。
- Spark on Elastic Mesos, for Enterprise use cases
Track B Sched & Perf
- Understanding the Performance of Spark Applications
- Next-Generation Spark Scheduling with Sparrow
- Resource management and Spark as a first class data processing framework on Hadoop
Track B Spark Related Projets
- Catalyst: A Query Optimization Framework for Spark and Shark
- クエリオプティマイザは開発者の生産性とリソースの有効活用度の両方を大きく向上させる。
- 優れたクエリオプティマイザはクエリの中で必要となるタスクを解析し、フィルタリング→データ解析という効率的な順序で実行するよう最適化を行うことができる。
- 優れた最適化は開発者をより開発する機能に集中させることができるが、現状のオプティマイザは非常に単純な最適化を実行することができるにすぎない。
- 加えて、過度な最適化は更なる改造を阻害するという要素も持つ。
- そのため、私たちはこのセッションでCatalystというScalaの言語機能を利用した「最適化フレームワーク」について説明する。
- Catalystを使うことで開発者は数行のコードで最適化を行える上に、後付けの拡張も容易になっている。
- Deep Dive into BlinkDB: Querying Petabytes of Data in Seconds using Sampling
- 収集し、保存されるデータの容量は指数関数的に増えつつあるが、分析者は更なる性能を求めているのが現状である。
- このセッションではBlinkDBというクエリに関係なく常にベースとなるサイズのデータセットを保持し、リアルタイムで処理することを保証するという新しいアプローチをとったDBを説明する。
- BlinkDBの存在により、ユーザは処理時間と解析するデータ量のトレードオフをどこで調整するかを自由に選択することができるようになる。
- 課題は「ベースとなるデータセット」へのクエリ実行でいかに有意ある結果を提供するか、という話になるが、そこに対しては最近のクエリ処理の進歩と機械学習によるアプローチを行い、対応している。
- Spark Query Service (Job Server) at Ooyala
- StratioDeep: an integration layer between Spark and Cassandra
以後はSparkのExerciseになります。
1日がセッショントラックになり、2日目がまるまるExerciseになるというのも中々面白い構成ではありますね。
こんな形でとりあえずどんなことが話されたのか、の概要についてまとめてみましたが、
実際のユースケースや既存システムとの統合など興味深い内容について講演されています。
とりあえず、いくつまで確認できるかは微妙ですが、面白そうなトラックからおいおい中身を確認してここにまとめていこうと思います。