「初めてのSpark」刊行記念 Spark Meetup 2015 レポート

アイキャッチ

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ほぼ二ヶ月前になりますが、先日オライリー様から刊行された初めてのSparkの出版記念イベントがありました。

私も当日参加し、公開するまでもないと思い死蔵していたメモがありましたが、最近先ほどの本を読み始め自分の中でのSpark熱が盛り上がっているため、公開することにしました。

プログラム

  • 「初めてのSpark」刊行のご挨拶 Sky株式会社 玉川竜司氏
  • Spark活用事例とロードマップ(仮) Cloudera Inc. Jairam Ranganathan氏
  • Sparkコミュニティに飛び込もう! 株式会社NTTデータ 猿田浩輔氏
  • 初めてのSparkStreaming 〜Kafka+SparkStreamingの紹介〜 株式会社DMM.comラボ 田中裕一氏
  • Spark、AMPLab、および周辺のビッグデータ基盤 日本電気株式会社 中台慎二氏
  • MLlib, mahoutの協調フィルタの比較 株式会社リクルートテクノロジーズ 堀越保徳氏
  • はじめてのSparkR(LT) Hoxo_m氏

Spark活用事例とロードマップ(仮)


Cloudera Inc. Jairam Ranganathan氏

筆者の乏しい英語Listening力のため、メモなし

Sparkコミュニティに飛び込もう


株式会社NTTデータ 猿田浩輔氏

Sparkのコミュニティ活動

  • 日本人が少ない
  • メーリングリストはほとんど欧米人、インド人

最近は傾向が変わってきた

  • パッチがマージされた人 2014 -> 2 2015 -> 10
  • 今回の会議 350 / 250

コミュニティと積極的に関わる

  • IF の使いやすさは後手に回っている
  • 日本人の入り込む余地はある

参加の敷居が高いのでは?

  • ドキュメント、パッチ等コード以外の貢献の仕方がある
  • やりとりは英語。でも通じる
  • メーリングリストで手助け
  • パッチの投稿
  • 貢献の仕方のリンク

パッチ、コミュニティに還元してください

  • マージコンフリクトが起こるバージョンをいつまでも運用しないで
  • メーリングリスト
  • Jenkinsダウン情報
  • Unit Test だと性能問題がわからないため、現実的なワークロードでテストを行うパートナーを募っている

Issue登録やパッチの当て方

  • Jira: Issue パッチ:Github
  • 知り合いのコミッタがいるならPRのテストを行ってくれる

コミュニケーション・コミュニティでのふるまい方

  • 語順とか磁性があってれば大体通じる
  • 他人のフレーズを真似る

Spark 1.5 アップデート情報

  • WebUI
  • SparkSQLの実行計画
  • Tungstenの改良
  • SparkStreamingにバックプレッシャー
  • MLPipelineがサポートするアルゴリズム増強

初めてのSparkStreaming


株式会社DMM.comラボ 田中裕一氏

SparkStreaming概要

  • MLLib, SparkCore, SparkStreamingをよく使っている
  • RDDのまとまりをDstreeamとして処理する
  • Basic Source, Advanced Source を使える
  • 今日はKafka-Streaming

Kafka概要

  • Partitionを入れられる

DMM構成

  • APIの行動ログをKafkaに送信
  • HBase
  • Spark Streaming

余談・蛇足・閑話休題

  • 個人が特定できる情報は扱わない
  • ユーザの皆様はご安心ください

ちょっとだけソースコード

  • KafkaStreaming
  • Window処理もできる(Dstream)

ハマりどころ

  • バッチインターバル遅れる
  • パフォーマンスつらい
  • MaxRateParPertitionがつらい
  • Coreの数とExecutorの数が一致するようにチューニングする
  • CDHのYARNアプリケーション画面は使いやすい
  • CDH+SparkStreamingはグラフ表示を中心にハマりどころがある

Spark amplab周辺のビッグデータ基盤

資料のリンクが見つからないため、メモのみとなります。

日本電気株式会社 中台慎二氏

私がSparkをおすすめする理由

  • Unix哲学
  • 機械学習のコア

AMPLab BDASの紹介

  • Patterson (ヘネパタ)
  • Randy (RAID)
  • シリコンバレーの大学
  • 最先端のシーズとニーズ
  • 機械学習のトップ、システム系のトップが集まる
  • 重複開発せず、互換性を重視する分散アーキテクチャ
  • 他のOSSとのソースコード比較(Sparkが圧倒的に行数が少ない)

BDAS

  • バッチではなくStreaming
  • サービスとして提供する
  • 学習理論
  • Velox Splash
  • 不偏分散量の補正
  • CMU

機械学習:学習理論

  • JoinHashと機械学習の関係性とか

DeepLearning

  • torch
  • theano
  • Caffeの製品版

レコメンドパッチ高速化に向けた Spark/MapReduceの機械学習ライブラリ比較検証


の前半部

株式会社リクルートテクノロジーズ 堀越保徳氏

背景と目的

  • データ解析の計算リソースの需要増加
  • 新しいことやる場合は施策が増える
  • Mahoutで動いている
  • Sparkの検証を始めている

検証内容

  • レコメンドライブラリを同構成のクラスタ上で検討
  • アイテムベース協調フィルタリング
  • ALS協調フィルタリング

アイテムベースの協調フィルタリング

  • この商品を見た人はこんな商品を見ています

  • Xを買った人はYも買っています

ALS協調フィルタリング

評価値行列をユーザ特徴量行列に分解してモデル化

比較観点

F値

検証結果

  • アイテムベース協調フィルタリング: 1/5 に
  • ALS協調フィルタリング: 1/32 に
  • F値が一致しない → よくあること。深追いせずに逃げる
  • スケール性も同等

はじめてのSparkR(LT)


Hoxo_m氏

SparkR

  • SparkをRから使うためのパッケージ

DataFrame

  • showDF
  • 関数名はdplyr流の記法使える
  • magrittr

最後に

発表の後は懇親会という形でピザとドリンクが振る舞われました。

会場の人と話をするのですが、特に印象に残っているのが、Jairam Ranganathan氏にMahoutには実装されているコサイン距離についての質問をしたことで、後のバージョンで実装されるかもしれないという回答を得て、わりと拙い英語でも通じるものなのだなあという感想でした。

大量のデータを現場レベルで扱っている人ならではの知見が得られた有意義な会でした!