Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsearchの利用

757 views

Published on

Hadoop Conferece Japan 2016 LTの「データサイエンスにおける一次可視化からのSpark on Elasticsearchの利用」の発表資料です。

Published in: Technology
  • Be the first to comment

16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsearchの利用

  1. 1. データサイエンスにおける⼀次可視化からの Spark on Elasticsearchの利⽤ 2016/02/08  Hadoop / Spark Conference Japan 2016 NTT コミュニケーションズ 技術開発部 ⼤⽊基⾄ Motoyuki Ooki <m.ooki@ntt.com>
  2. 2. ⾃⼰紹介 ⼤⽊基⾄ 2013年 NTTコミュニケーションズ⼊社 ■インターネット品質測定システム - インターネットにまつわるデータの収集〜分析〜応⽤ -  IETF等の標準化活動 # 参考:Slideshare (http://www.slideshare.net/MotoyukiOhki/140912ia) ■Data Science Lab.の⽴ち上げから展開 - 全社向けのデータ分析基盤の構築、分析、運⽤ -  データサイエンティストの育成 # 参考:データサイエンスラボの取り組み(http://www.bcm.co.jp/site/2015/06/ ntt-com/1506-ntt-com-01.pdf)
  3. 3. 事例紹介 n  社内検証NWの (ほぼすべての)データを収集 / 可視化 / 分析 •  新技術の開発検証に使⽤ / ⽣活網の⼀種 ü  部署内200名、他部署数⼗名以上が利⽤ •  全社の検証網であり、NWオペレーションも⽇々発⽣ ü  スモールISPだと考えて頂ければ n  ⽬的 •  利⽤状況の⾒える化 / 運⽤者の作業効率化 /(もう少し⾼度 な)NWオペレーション⾃動化の⾜がかり n  取得データ /レコード数(⽇) •  トラフィック情報(NWフロー・MIB)/ 300K •  アクセスログ /10M •  NMS情報(Syslog やNW Metrics)/ 4M •  無線LAN接続情報(社員の活動量)/ 25K •  オペレーションログ(チケット情報など) •  その他(Slack, Gitコミットログ) 3
  4. 4. アーキテクチャと分析フロー 4 データ蓄積 データ可視化 / 分析 データ発⽣元 ETL処理 うちでよくある話 ①Elasticsearch + Kibana でとりあえず⼀次可視化 → ②ディスカッション → ③統計処理 / 分析 → ④⼆次可視化 + ダッシュボード化 ストレージ レポート化 / ⾒える化
  5. 5. いろいろ問題が… n  ⼀次可視化のあとが(あたりまえだけど)⼤変 •  Rで分析 ü  ⼤量のデータだと⾟い ü  ⼀時的なデータが複数存在し、管理が⼤変 •  Elasticsearch のノウハウがチーム内に少なかった ü  データのETL処理に時間を要した •  データの蓄積 / ETLの関係上、Elasticsearchにしかデータ がないものもある。。 •  Kibanaだけだと、集計・統計処理が⾟い 5 Elasticsearch だけで集計作業はなんとか完結できないか… ⇒ elasticsearch-hadoop がある!
  6. 6. Elasticsearch-Hadoop n  Elasticsearch for Hadoop •  Elasticssearchをストレージとして利⽤できるようになる •  Spark、Hiveも。ライブラリ群をまとめて呼ぶ名称 n  2016/2/4時点で「ES-Hadoop 2.2」が最新 •  Spark 1.6/ Elastcisearch 2.X 系対応 6 Elas%csearch for Hadoop : h1ps://www.elas%c.co/products/hadoop
  7. 7. Spark on Elasticsearch ことはじめ1 n  インストール •  Spark (省略) •  Elasticsearch(省略) ü  Elasticsearch側が別ノードなら、network.publish_host等の設 定には注意 •  ES-Hadoop ダウンロード 7 以上!
  8. 8. Spark on Elasticsearch ことはじめ2 n  動かしてみる(pysparkで) •  driver-pathを指定するだけ •  Elasticsearch上のノードとindexとmappingを指定 8
  9. 9. Spark on Elasticsearch ことはじめ3 9 n  動かしてみる(pysparkで) •  Map / Reduce •  Elasticsearch上にsave
  10. 10. Spark on Elasticsearch 性能 n  タスク •  レコード数 約1000万のNWフローデータ ü  srcIP, destIP, srcPort, destPort, bps/pps の情報がベース •  ESクラスタ(マスタノード3台, データノード6台)+ Spark(マスタ ノード1台にローカル起動) •  「シャーディング数」と「Sparkのスレッド数」をパラメータ •  送信先AS を key に トラフィックの量の⽇別統計量算出 10 ・シャーディング数 = Map数のため、シャーディング数  とスレッド数が同じところがMax。それ以上は伸びない ・シャーディング数が多いほど性能は良くなる?
  11. 11. Spark on Elasticsearch 感想 n  そもそもHDFS使えば…? •  そのとおり。しかし、Elasticsearchにとりあえず⼊れて可 視化して⾒せれば⼗分なケースがほとんどで…。 n  性能は…?(参考⽂献が⼤変参考になりました) •  Elasticsearchのシャード数に引きづられる ü  Map の数 が シャード数に限定 •  ES-Hadoop内で、RESTでESの情報取得処理が⼊る n  Elasticsearchに⼊れてからデータ直したい(⼊れなおしした い)ってよく起こりませんか? •  そういうときに集計して⼊れるって良いかも 11 参考:Elas%csearch-hadoopをもうちょい調べて遅い理由が少しわかった 参考:Spark on elas%csearch-hadoop トライアル
  12. 12. まとめ n  Elasticsearch-hadoopを使うことで、SparkからElasticsearch のデータをRead / Write n  所感 •  ESだけで完結したいときや、データサイズが⼤きいときに •  性能はまだ検証⾜らず •  あとからの「しっかり解析」するなら、永続化データの貯め 場は作っておかないと… ü  Elasticsearchに貯め続けると結構不安定。別の⼿段が必要 12
  13. 13. 参考 n  Elasticsearch-hadoopをもうちょい調べて遅い理由が少しわかっ た:http://yamakatu.github.io/blog/2014/04/25/eshadoop/ n  Spark on elasticsearch-hadoop トライアル: http://qiita.com/jtodo/items/91482501c0c93de49e5e n  楽しい可視化 : elasticsearchとSpark Streamingの出会い: http://www.intellilink.co.jp/article/column/bigdata- kk02.html n  Apache Spark support: https://www.elastic.co/guide/en/elasticsearch/hadoop/ current/spark.html n  Elasticsearch in Apache Spark with Python̶Machine Learning Series: https://qbox.io/blog/elasticsearch-in-apache-spark-python 13
  14. 14. Thank you ! Motoyuki Ooki <m.ooki@ntt.com> 14

×