Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@satoshihirose
Last active September 23, 2015 00:59
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save satoshihirose/7439d9e65972d535ac14 to your computer and use it in GitHub Desktop.
Save satoshihirose/7439d9e65972d535ac14 to your computer and use it in GitHub Desktop.

概要

  • イベント名:「初めてのSpark」刊行記念Spark Meetup 2015
  • 開催日:2015年9月9日(水)
  • 時 間:19:00から22:30(懇親会21:00〜22:30)
  • 場 所:ドワンゴ様セミナールーム (歌舞伎座タワー14階)
  • 定 員:250名
  • 参加費:無料(含む懇親会)
  • 主 催:Cloudera株式会社
  • 協 賛:株式会社ドワンゴ、株式会社オライリー・ジャパン

19:00 「初めてのSpark」刊行のご挨拶

  • Sky株式会社 玉川竜司
  • Advanced Analytics with Spark年内に出したい!
  • 入門にはとても良いはず。原書(今年一月初版)の間違い結構直ってます。新バージョン(1.41)にキャッチアップ、日本(Recruit社)の事例
    • pythonのコードの変数宣言にval笑
  • ただまだまだ足りないところもある。運用の話。具体的なアプリの話。SparkRの話。
    • 著者の方々も次の本を書くと言っている。
  • 最近Amazonの在庫のスケーラビリティが悪いので、リアル書店とかで買いましょう。
  • 次も宜しくおねがいします!

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

  • Cloudera Inc. Jairam Ranganathan
  • 3年Sparkの開発している。
  • Spark will replace MapReduce COMPLETELY.
  • The Future of Data Processing on Hadoop
    • Spark, Impala, Solr, MR
  • use case
    • Spark Core: Finacial(Portfolio Risk Analysis, ETL Pipeline, 20+ years of stock data) etc...
    • Spark Streaming: Finacial(Online Fraud Detection), Health(Incident Prediction for Sepsis), Retail, AdTech, etc...
    • 4 major banks has used.
  • Apache Spark
    • Easy Development(Scala, Java, Python)
    • Flexible Extensible API(bach, Streaming, ML, Graph)
    • Fast Batch & Stream Processing(In0Memory processing and caching)
  • Spark Coreはステーブルだけど、その上のアプリケーションはまだまだ
  • MLのLogistic Regression Perfomanceの例。何十倍も早い。
  • Apach Spark Streaming. ms order->its not realtime but fast.
  • SparkSQL + Dataframes(ML Applications)
    • Goal: Spark/Java Developers and Data Scientists can inline SQL into Spark apps.
    • Strength: Ease of embeding SQL into Java Scala app.
  • One Platform Initiative: Management, Security, Scale, Streaming。それぞれのテーマで開発計画がされている。

19:40 Sparkコミュニティに飛び込もう!

  • 株式会社NTTデータ 猿田浩輔 基盤システム事業本部
  • テクニカルな話では無い。一ユーザーという境を超えて、コミュニティに関わったらどうかという話。
  • ずっとHadoopやっていた。
  • 1.4から入ったWebUIの可視化の仕組みの一つを作った。
  • コミュニティ活動していてふと思うこと
    • 日本人少なすぎ。メーリスにほとんど表れない。欧米人かインド人か中国人
    • パッチがマージされた日本人たちが増えた。2/117->10/232。増えた!
    • 双方向で関わって欲しい。自分たちが使うものをより良く育てよう。ユーザーが増えてきているアピール。
  • しきい高くない?
    • ドキュメントでも良い!
    • 英語は意外と通じる!
    • 飛んでくるのはマサカリではなく槍くらい
    • メーリングリストで人助け、テストパートナー、issue登録、バグ報告、改善提案、パッチのレビュー、もちろんバッチの投稿も!
    • パッチを自分たちだけで完結させてそれを保守し続けるんですか?マージされるとリリースノートにクレジットされる!
  • パッチのお作法
  • 英語でのコミュニケーション
  • コミュニティでやらない方が良いこと
    • JIRA/GitHubに質問を投げる
    • いきなりでかいパッチ
    • 実行上影響のないパッチ(import文の除去など)
  • イベントに参加してコネクション作り!
    • Spark Summit
    • Hadoopソースコードリーディング
    • Tokyo Spark Meetup
    • Hadoop Conference Japan
  • 1.5情報
    • WebUIアップデート。シャッフル時のピークのメモリ使用量が表示。SQLの実行計画が可視化。
    • Tungsten。CPUの仕様効率を高める。独自のメモリ管理ベースのアルゴリズムとかがある。
    • SparkSQLのコードの自動生成が有効になって、コンパイルスピードがアップした。
    • Spark Streamingに待望のバックプレッシャー。
    • ML Pipelineがサポートするアルゴリズムの増強。KMeans、多層パーセプトロンetc..

20:00 初めてのSparkStreaming 〜Kafka+SparkStreamingの紹介〜

  • DMMではKafka+SparkStreamingを用いた(ニア)リアルタイム行動解析処理を行ってます。
  • 本講演ではDMMでのアーキテクト(抜粋)やSparkStreaming+Kafkaの処理部分を紹介いたします。
  • 株式会社DMM.comラボ 田中裕一 CTO室でR&Dっぽいことをしている
  • トレンドtoアイテムレコメンド。主にGraphXとSpark Streaming、SparkML。
  • データソースはTwitter、Kafka、HDFS
  • n秒のRDDのまとまりをDstreamとして処理。RDDと同じような感覚で操作が出来る。
    • BasicSource: Tcp, S3, HDFS
    • Advanced Source: Twitter, Kafka, Kinesis, FLume
  • Kafka + Streamingの話
  • API->Kafka->View,HBase, Spark Streaming
  • DMM * 行動解析
  • KafkaデータソースにしたStreamingのコード、書き戻しのコード
  • パフォーマンスをどうやって見るの?最後に動いたバッチの実行時間とか。バッチインターバルの値を超えてはダメよ。
  • Spark1.3 with kafkaのDirectStreamを使うとReceiverStatisticsが出ない。
  • 経過画面の時間がSparkアプリとSpark Streamingのアプリで同じなので、縦軸のオーダーが違ってしまい困っているなど。

20:20 Spark、AMPLab、および周辺のビッグデータ基盤

  • 日本電気株式会社 情報ナレッジ研究所 中台慎二
  • AMPLabとBDASの紹介
  • AMPLabの教授。David Patterson(ヘネパタのパタの人)、Randy Katz(RAID作った人)
  • BDAS(Barkeley Data Analysis Stack)とは?
    • 重複開発せず、互換性を重視する分散アーキテクチャ
    • 「POSIX標準になろう」「抽象化が大事」
    • 圧倒的に少ないコード量
  • ストリーミングはSpark Streaming、サービスはVelox、確率的学習はSplash。これらをRDDやDataframeで繋ぐ。
  • Splash vs Splash。確率的最適化に特化しているので早い。
  • CommunicationEfficient Algorithmsのアルゴリズムを埋め込んだのがSplash。Jubatusもこの発想。
  • GraphX
    • もともとはGraphLab(C++で早い)をやってた人。UCBでポスドクしてGraphX
  • 機械学習ライブラリの自動選択。ユーザーは回帰判別するだけで良い。
  • SparkでDeep Leaning行うのに向いていないかと。
  • NEC北米研究所は冬の時代からSVMのtorchの製品版RAPIDを開発して8月発売。地球シミュレーターとか作っていたし。
    • 映像解析PoC事例。二人乗りバイク検知。ひったくりの検知

20:40 MLlib, mahoutの協調フィルタの比較

  • 株式会社リクルートテクノロジーズ 堀越保徳 @hotoku。もともとは証券会社でクオンツしてた。
  • まだproductionでは使っていない。検証をした結果を紹介する。
  • バッチの長時間化、数の増加。バッチの多様化。データ量の増加。
  • 現在のMahout->Spark MLibの検証。
    • アイテムベース強調フィルタリング。ALS強調フィルタリングを実行。
    • Master *2, Slave * 10台
    • レコード数は1億3千万。購買データ。
    • ALSは何時間か掛かっているがパラメータチューニングがしんどい。
    • アイテムベースはMLibに実装が無いためフルスクラッチ
    • レコメンド精度はF尺度。スケール性(台数増やしたらどれくらい実行時間は短くなるか)。
  • 結果
    • アイテムベースの方は1/5になった。24分->5分。
    • ALSの方は1/32になった。3:41->7分
    • F尺度は同じ場所にある?同じアルゴリズムのはずなのに何故か一致しない。。。よくあること。
    • スケール性は同等

21:00 「はじめてのSparkR」

  • 牧山幸史 みんなのRの翻訳者 @hoxo_m 匿名知的集団ほくそ笑む
  • SparkRext(SparkRの拡張パッケージ)
  • SparkをR言語から使うためのパッケージ。AMPLabがSparkとは別に開発していたが、1.4から統合
  • 特徴
    • R言語でSparkがつかえる
    • DataFrameのみRDD非対応
    • dplyrライクにデータハンドリング
    • MLlib未対応。1.5より一部対応
  • spark-shell, pysparkと同様に起動出来る。bin/sparkR
  • RStudioとの連携がおすすめ。スタンドアロンアプリ作るよりインタラクティブに使うほうが向いている。
  • JSONとPurguetを標準サポート。CSVとAvroは別途パッケージが必要。RのデータフレームをSpark DataFrameに変換出来る!
  • DataFrameを操作する関数名はSpark流とdplyr流の両方使える。エイリアスになっている。
  • 集計関数Sparkのmax,min,とかは1.5で対応
  • 数学関数、MLlibとかウインドウ関数未対応など機能追加は本体より遅れている。
  • 現在は不十分な点が多く、実務では使えないかなと思っていますが、今後に期待!

21:05 懇親会(ピザ、飲み物)、書籍販売

22:00 懇親会中締め

22:30 閉会

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment