31
© 2016 IBM Corporation 乗乗乗乗乗乗Kafka 乗 Spark 乗乗乗乗乗乗乗 乗乗乗乗乗乗乗乗乗乗乗乗乗IBM 乗乗乗乗乗乗乗乗乗乗乗 乗乗乗乗乗乗乗乗 乗乗 乗2016.2.18 #devsumiB 18- B-4

Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

Embed Size (px)

Citation preview

Page 1: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation

「乗り遅れるな! Kafka と Spark を組み合わせた   リアルタイム分析基盤の構築」

IBM  アナリティクス事業本部 テクニカルリード 田中 裕一2016.2.18

#devsumiB 18-B-4

Page 2: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation2

自己紹介田中裕一( yuichi tanaka)主にアーキテクチャとサーバーサイドプログラムを担当することが多い。 Hadoop/Spark周りをよく触ります。Node.js、 Python、最近は Spark周りの仕事で Scalaを書くことが多い気がします。

休日は OSS 周りで遊んだり。

Page 3: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation3

今日の講演の持ち帰りポイントターゲット▪これからビッグデータを創めたい方▪Sparkを始めたい・ビッグデータ始めたいエンジニアの取っ掛かり▪ビッグデータをやることになったけど何から始めたらよいか?という方持ち帰りポイント▪Spark+ Kafkaを使った解析基盤の概要の把握、オリジナルの基盤構築を行うことが出来る▪ビジネス担当の方には「こんなことが出来るんじゃないか?」という発想の種

Page 4: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation4

今日のアジェンダ

Hadoop/Spark の広がりについて

従来の Hadoop 基盤のおさらいと問題提起

Spark/Kafka の概要のおさらい

リアルタイム解析基盤について

リアルタイム解析基盤の活用

Page 5: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation5

Apache Hadoop/Sparkと BigData

Apache HadoopApache SparkApache Kafkaのそれぞれのトレンド

Page 6: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation6

Sparkの広がりSparkはイノベータ、アーリアドプタを超えて広がりつつある

Page 7: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation7

業界に横串で展開される Big Data

Page 8: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation8

BigData とはどんなものか

Page 9: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation9

BigData基盤従来の Hadoop基盤

Page 10: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation10

Inputの問題データを格納するタイミングの問題

Page 11: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation11

処理時間の問題どうやってレイテンシを下げるかの問題

Page 12: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation12

データの反映の問題アウトプットの問題

Page 13: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation13

Apache Spark/Apache Kafkaのおさらいここでやること

▪Apache Sparkの概要▪Apache Kafkaの概要

Page 14: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation14

Apache Sparkの概要

SQLのインタフェースを提供 グラフ操作を提供ストリーミング処理を提供 機械学習アルゴリズムを提供

Page 15: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation15

Apache Sparkの概要Hadoop での MapReduce の処理例

Page 16: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation16

Apache Sparkの概要Spark での RDD & DAG の処理例

Page 17: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation17

Apache Kafkaの概要Kafka の俯瞰図

Page 18: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation18

Kafkaと Sparkを使ったリアルタイム解析基盤

Page 19: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation19

リアルタイム解析基盤ではキューが重要

Page 20: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation20

キューによる処理系の分離

Page 21: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation21

キューを使ったストリーミングフロー制御

Page 22: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation22

キューを使った処理やアルゴリズムの検証

Page 23: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation23

リアルタイム基盤の活用

Page 24: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation24

リアルタイム基盤の活用

Page 25: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation25

リアルタイム基盤の活用

Page 26: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation26

リアルタイム基盤の活用

Page 27: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation27

まとめ

Spark は利用事例や活用事例がこれからなサービス

多様な業種で必要とされるビッグデータ処理を包括的に、

インタラクティブに扱うことが出来る

設計に当たってキューを使っておくとアーキテクチャ全体

の耐障害性・可用性が担保しやすい

Page 28: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation28

Appendix

DataPalooza を日本でもやります!

Page 29: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation29

Appendix

IBM は Hadoop のディストリビューションを持っています。

OpenDataPlatformhttp://www.ibm.com/analytics/us/en/technology/hadoop/

BigInsightshttp://www-03.ibm.com/software/products/ja/ibm-biginsights-for-apache-hadoop/

Bluemixhttps://console.ng.bluemix.net/

Page 30: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation30

Appendix

IBM は Spark/Hadoop につよい会社です

http://jp.techcrunch.com/2015/06/16/20150615ibm-pours-researchers-and-resources-into-apache-spark-project/

Page 31: Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築

© 2016 IBM Corporation31

ワークショップ、セッション、および資料は、 IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、 IBM は責任を負わないものとします。本講演資料に含まれている内容は、 IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、 IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。本講演資料で IBM製品、プログラム、またはサービスに言及していても、 IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいて IBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、または

その他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的な IBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。記述されているすべてのお客様事例は、それらのお客様がどのように IBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。IBM、 IBM ロゴ、 ibm.comは、世界の多くの国で登録された International Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれ IBMまたは各社の商標である場合があります。

現時点での IBM の商標リストについては、 www.ibm.com/legal/copytrade.shtml をご覧ください。Apache Hadoop 、 Hadoop 、 Apache Spark 、 Spark 、 Apache Kafka 、 Kafka 、 Apache 、は、 Apache Software Foundation の米国およびその他の国における登録商標、または商標です。