SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
2016年7月22日
1
ヤフー株式会社 D&S データプラットフォーム本部 森谷 大輔
Hadoop Summit 2016 @San Jose
ストリーム処理関連の報告
自己紹介
• 氏名
• 森谷 大輔
• 業務
• 社内ストリーム処理PFの構築
• ストリームなアプリケーションの開発
• ストリーム周りで使う
• Kafka, Storm,
Cassandra, Elasticsearch
2
アジェンダに入る前に
ストリーム処理復習
• バッチ処理:データをためて、まとめて、一気に処理
• 処理に終わりがある
• 高スループット、データが生まれてから結果が出るまでの時間遅
• ストリーム処理:生まれ続けるデータを継続的に逐次処理
• 処理に終わりがない
• 低スループット、データが生まれてから結果が出るまでの時間速
4
なんでストリーム処理?
•速い。以上。 ※個人の見解です
• ストリーム処理をしたくなる例
• 不意にものすごく人気が出たTV番組をユーザに通知できたのが番組が終わった後だった
• ログから故障しそうなサーバを予見、通知されたがもう既に故障している
• ユーザがこの商品に興味があるのは恐らくここ数分だけだ
• Webページのこのモジュールのクリック率、急激に悪くなってたからすぐ差し替えたかった
5
アジェンダ
• イベント概要
• Hadoop Summitにおけるストリーム処理
• セッション紹介
• ① The Future of Apache Storm
• ② Ingest and Stream Processing - What Will You Choose?
• まとめ
6
アジェンダ
• イベント概要
• Hadoop Summitにおけるストリーム処理
• セッション紹介
• ① The Future of Apache Storm
• ② Ingest and Stream Processing - What Will You Choose?
• まとめ
7
Hadoop Summit 2016 @San Jose
• 日時: 2016/6/28 – 30
• 場所: San Jose McEnery
Convention Center
• 参加者数: 4000人+
• セッション数: 170+
• ホスト: Hortonworks,
Yahoo! Inc.
8
• 午前キーノート午後セッションが3日間
• Hadoop 10周年
• 2016/10月 Hadoop Summit Tokyo
9
アジェンダ
• イベント概要
• Hadoop Summitにおけるストリーム処理
• セッション紹介
• ① The Future of Apache Storm
• ② Ingest and Stream Processing - What Will You Choose?
• まとめ
10
Hadoop Summitにおける
ストリーム処理
• ストリーム関連のセッションは想像以上に多かった
• 実績話、チューニング、deep dive
• keynoteではメインテーマの1つとして”Data at Rest”と”Data in Motion”の扱いについて言及
11
確認した171セッション中 abstract で言及しているセッション数
Kafka 24
Storm 21
Flink 8
Spark Streaming 5
Samza 2
Beam 2
Apex 2
↑を全てOR 44
参考
Spark 47
Hive 22
NiFi 21
HBase 18
全体の4分の1くらい
肌感
• Kafka + Storm は現状のプロダクション実績においてほとんどデファクトスタンダードのよ
うだ
• Storm、最近旗色悪そうな気がしていたが予想以上に使われている
• Spark StreamingはStormほどではないが使われている
• ただしlatencyの問題がある、latency要件が高いユーザはStormに戻る例も
• 分散キューとしては聞いた中ではKafka以外の名前は聞かなかった
• FlinkやApexといったところは注目されている、がまだ実績は多くない
12
アジェンダ
• イベント概要
• Hadoop Summitにおけるストリーム処理
• セッション紹介
• ① The Future of Apache Storm
• ② Ingest and Stream Processing - What Will You Choose?
• まとめ
13
The Future of Apache Storm
• P. Taylor Goetz @Hortonworks
• StormのPMC chair、他ApexやKylinのPMC
• Stormの過去と今年4月にリリースした1.0と今後の話
• 0.10.x まで
• 1.0の新機能
• 2.xに向けて
• よもやま話
14
0.10.xまで
• Storm 0.9.x
• StormがApacheのトップレベルプロジェクトに
• workerの内部通信が0mqからNettyに
• 連携系に拡張・改良(Kafka, HDFS, HBase)
• dependencyのコンフリクト防止施策
• Storm 0.10.x
• セキュリティ追加、マルチテナントのための機能追加
• ローリングアップグレード可能に
• Partial Key Groupings
• Flux(便利トポロジデプロイツール)
• 連携系拡張(Hive, Redis, JDBC)
15
1.0の新機能
• 2016年4月リリース
• Pacemaker
• ZooKeeperに流していたハートビートの置き換え
• スケールのボトルネックだったがこれによって2, 3千ノードのスケールが可能に
• Distributed Cache API
• トポロジ間でファイル共有できる仕組み(設定ファイルや辞書ファイル等)
• トポロジと一緒にデプロイする方法では、ファイルが小さいと問題にならなかったが巨大だとデプロイに時間が
かかる問題を解消
• ファイルはコマンドラインからアップデートでき、KBから数GBのサイズ、圧縮をサポート
• High Availability Nimbus
• Native Streaming Windows
• Window処理がやりやすくなるAPI
16
1.0の新機能
• State Management
• ステートフルなboltをサポート
• checkpointが定期的に更新されて、bolt再開時はそこからstateを復帰
• インメモリのstate実装かRedisが使える
• Automatic Back Pressure
• バッファサイズの貯まり具合でSpoutのスピードを絞ったり戻したりする
• High/Low Watermarkによって指定
• Resource Aware Scheduler
• トポロジ毎に必要リソース(メモリ/CPU)を指定して効率的にタスクを割り振れるようになるスケジューラ
• クラスタ内のサーバ性能が統一じゃない場合にも有効
• Dynamic Log Levels、お手軽タプルサンプリング、Distributed Log Search...
• 最大スループット向上16倍、60%レイテンシ低減
17
2.xに向けて
• Storm 1.1.0
• メトリクスAPIの改良
• ユーザ定義のメトリクス
• Storm UIで見れるメトリクスを増やす
• メトリクスのAmbari連携を強化
• Storm 2.x
• Clojure to Java
• Streaming SQL
18
よもやま話
• パフォーマンスはユースケースによって全く異なる
• 外部のベンチマークを鵜呑みにしてはならない、自分でやるのが一番
• Heron vs Storm
• 当時Heronが解決した課題は現在ではStormでもほぼ解決してしまった
• 機能面でもパフォーマンスでもStormに分がある
• Q. Stormは死ぬ?
• A. ライバルがそう言ってるだけ
• 数百のプロダクション実績とデベロッパコミュニティの活発さが本当の答えだ
19
アジェンダ
• イベント概要
• Hadoop Summitにおけるストリーム処理
• セッション紹介
• ① The Future of Apache Storm
• ② Ingest and Stream Processing - What Will You Choose?
• まとめ
20
Ingest and Stream Processing
– What Will You Choose?
• Ted Malaska @Cloudera
• ストリーム処理のシステムを構築する上で各コンポーネントのセマンティクスや、実装に
は何を選ぶべきかの指針を与える話
• 1個前の話とかなり違うことを言っている
21
ストリームの構成とセマンティクス
• セマンティクス?
22
At Most Once 重複はしないけど損失はするかも
At Least Once 損失はしないけど重複はするかも
Exactly Once 損失も重複もしない
Producer Kafka Engine Destination
At Least Once
At Least Once
Ordered
Partitioned モノによる モノによる
Destinations
23
モノ セマンティクス 備考 向いているIngestion
ファイルシステム(HDFS
等)
Exactly Once可 scanに良い Flume, Kafka Connect
Solr Exactly Once可 search queryに良い Flume, Any Streaming Engine
NoSQL(HBase等) Exactly Once可 getやputするのに良い Flume, Any Streaming Engine
Kudu Exactly Once可 get, put, scanに良い Flume, Kafka Connect,
Any Streaming Engine
Streaming Engines
24
モノ セマンティクス 特徴
Consumer:
Flume,
KafkaConnect
- ・シンプルだがtransformationはできない
・低レイテンシ
・高スループット
Storm At Least Once ・低レイテンシ
・低スループット
・「直に歴史の1ページとなるだろう」
Spark Streaming Exactly Once可 ・最近すごい勢い
・(Stormよりは)高レイテンシ
・高スループット
・SQL, MlLib
・デバッグやユニットテストがしやすい
Flink Exactly Once可 ・Sparkに似ている
・(Spark Streamingよりは)低レイテンシ
・実績少
Kafka Streams - ・若い(0歳2ヶ月)
・低レイテンシ
・高スループット
アジェンダ
• イベント概要
• Hadoop Summitにおけるストリーム処理
• セッション紹介
• ① The Future of Apache Storm
• ② Ingest and Stream Processing - What Will You Choose?
• まとめ
25
まとめ
• Hadoop Summitにおけるストリーム処理についての肌感
• 注目されている
• Stormのプロダクション実績の多さ
• FlinkやApexはこれから
• Stormの未来
• 1.0の機能群が強い
• ポジショントークに注意、試してみるのが一番かも
• ストリーム処理システム構成のヒント
• 要件に合わせたStream EngineやDestination選択を
26

Weitere ähnliche Inhalte

Was ist angesagt?

Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめKafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめ
Keigo Suda
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
Yahoo!デベロッパーネットワーク
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
 

Was ist angesagt? (20)

Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめKafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめ
 
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSSYahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
 
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組みYahoo! JAPANにおけるApache Cassandraへの取り組み
Yahoo! JAPANにおけるApache Cassandraへの取り組み
 
introduction of WalB
introduction of WalBintroduction of WalB
introduction of WalB
 
ヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージ
 
SlowQueryログ開発秘話#cassandrameetupjp
SlowQueryログ開発秘話#cassandrameetupjpSlowQueryログ開発秘話#cassandrameetupjp
SlowQueryログ開発秘話#cassandrameetupjp
 
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
 
Kafka Summit NYCに見るストリーミングデータETLの話 #streamdatajp
Kafka Summit NYCに見るストリーミングデータETLの話 #streamdatajpKafka Summit NYCに見るストリーミングデータETLの話 #streamdatajp
Kafka Summit NYCに見るストリーミングデータETLの話 #streamdatajp
 
Apache NiFi の紹介 #streamctjp
Apache NiFi の紹介  #streamctjpApache NiFi の紹介  #streamctjp
Apache NiFi の紹介 #streamctjp
 
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
 
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
 
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
 
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
 
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streaming
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
 
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
 

Andere mochten auch

セキュアにユーザ行動情報を取得するための取り組み #yjdsnight
セキュアにユーザ行動情報を取得するための取り組み #yjdsnightセキュアにユーザ行動情報を取得するための取り組み #yjdsnight
セキュアにユーザ行動情報を取得するための取り組み #yjdsnight
Yahoo!デベロッパーネットワーク
 

Andere mochten auch (20)

Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjpElasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
 
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
Devsumi 2016 b_4 KafkaとSparkを組み合わせたリアルタイム分析基盤の構築
 
大規模HDFS & ErasureCoding#yjdsw3
大規模HDFS & ErasureCoding#yjdsw3大規模HDFS & ErasureCoding#yjdsw3
大規模HDFS & ErasureCoding#yjdsw3
 
「Abuse対策を10年続けた結果」#yjdsw4
「Abuse対策を10年続けた結果」#yjdsw4「Abuse対策を10年続けた結果」#yjdsw4
「Abuse対策を10年続けた結果」#yjdsw4
 
「変化と戦うロガー開発(iOS_App_Extensions編)」#yjdsw4
「変化と戦うロガー開発(iOS_App_Extensions編)」#yjdsw4「変化と戦うロガー開発(iOS_App_Extensions編)」#yjdsw4
「変化と戦うロガー開発(iOS_App_Extensions編)」#yjdsw4
 
ヤフーの次世代パイプラインについて#yjdsw3
ヤフーの次世代パイプラインについて#yjdsw3ヤフーの次世代パイプラインについて#yjdsw3
ヤフーの次世代パイプラインについて#yjdsw3
 
ヤフーのRDBと最新のMySQLの検証結果#yjdsw3
ヤフーのRDBと最新のMySQLの検証結果#yjdsw3ヤフーのRDBと最新のMySQLの検証結果#yjdsw3
ヤフーのRDBと最新のMySQLの検証結果#yjdsw3
 
The Power of Both Choices: Practical Load Balancing for Distributed Stream Pr...
The Power of Both Choices: Practical Load Balancing for Distributed Stream Pr...The Power of Both Choices: Practical Load Balancing for Distributed Stream Pr...
The Power of Both Choices: Practical Load Balancing for Distributed Stream Pr...
 
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
 
「Data Infrastructure at Scale 」#yjdsw4
「Data Infrastructure at Scale 」#yjdsw4「Data Infrastructure at Scale 」#yjdsw4
「Data Infrastructure at Scale 」#yjdsw4
 
Yahoo! JAPAN IDの裏側#yjdsw3
Yahoo! JAPAN IDの裏側#yjdsw3Yahoo! JAPAN IDの裏側#yjdsw3
Yahoo! JAPAN IDの裏側#yjdsw3
 
分散システム処理モデルの課題および展望#yjdsw3
分散システム処理モデルの課題および展望#yjdsw3分散システム処理モデルの課題および展望#yjdsw3
分散システム処理モデルの課題および展望#yjdsw3
 
Influxdb ver0.9.5#yjdsw3
Influxdb ver0.9.5#yjdsw3Influxdb ver0.9.5#yjdsw3
Influxdb ver0.9.5#yjdsw3
 
Ambari運用ツラたん #ambarimeetup
Ambari運用ツラたん #ambarimeetupAmbari運用ツラたん #ambarimeetup
Ambari運用ツラたん #ambarimeetup
 
Yahoo! JAPAN の Ambari 活用事例 #ambarimeetup
Yahoo! JAPAN の Ambari 活用事例 #ambarimeetupYahoo! JAPAN の Ambari 活用事例 #ambarimeetup
Yahoo! JAPAN の Ambari 活用事例 #ambarimeetup
 
「これはヤフオク!に機械学習を導入する男たちの戦いの物語である」#yjdsw4
「これはヤフオク!に機械学習を導入する男たちの戦いの物語である」#yjdsw4「これはヤフオク!に機械学習を導入する男たちの戦いの物語である」#yjdsw4
「これはヤフオク!に機械学習を導入する男たちの戦いの物語である」#yjdsw4
 
「なぜビッグデータが選挙の予測を可能にするのか」#yjdsw4
「なぜビッグデータが選挙の予測を可能にするのか」#yjdsw4「なぜビッグデータが選挙の予測を可能にするのか」#yjdsw4
「なぜビッグデータが選挙の予測を可能にするのか」#yjdsw4
 
Yahoo! JAPAN の Ambari 活用事例 #yjdsnight
Yahoo! JAPAN の Ambari 活用事例 #yjdsnightYahoo! JAPAN の Ambari 活用事例 #yjdsnight
Yahoo! JAPAN の Ambari 活用事例 #yjdsnight
 
niconicoにおける継続的なデータ活用のためのHadoop運用事例
niconicoにおける継続的なデータ活用のためのHadoop運用事例niconicoにおける継続的なデータ活用のためのHadoop運用事例
niconicoにおける継続的なデータ活用のためのHadoop運用事例
 
セキュアにユーザ行動情報を取得するための取り組み #yjdsnight
セキュアにユーザ行動情報を取得するための取り組み #yjdsnightセキュアにユーザ行動情報を取得するための取り組み #yjdsnight
セキュアにユーザ行動情報を取得するための取り組み #yjdsnight
 

Ähnlich wie Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp

Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理
maruyama097
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
irix_jp
 

Ähnlich wie Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp (20)

Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219
 
HBaseCon 2012 参加レポート
HBaseCon 2012 参加レポートHBaseCon 2012 参加レポート
HBaseCon 2012 参加レポート
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
 
OSC2014 Tokyo/Spring Hadoop
OSC2014 Tokyo/Spring HadoopOSC2014 Tokyo/Spring Hadoop
OSC2014 Tokyo/Spring Hadoop
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16sparksql-hive-bench-by-nec-hwx-at-hcj16
sparksql-hive-bench-by-nec-hwx-at-hcj16
 
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知るAI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
 
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
Hadoopことはじめ
 
Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理Facebookのリアルタイム Big Data 処理
Facebookのリアルタイム Big Data 処理
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
Apache Hadoopを改めて知る
Apache Hadoopを改めて知るApache Hadoopを改めて知る
Apache Hadoopを改めて知る
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
 
経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用
 

Mehr von Yahoo!デベロッパーネットワーク

Mehr von Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp

  • 1. 2016年7月22日 1 ヤフー株式会社 D&S データプラットフォーム本部 森谷 大輔 Hadoop Summit 2016 @San Jose ストリーム処理関連の報告
  • 2. 自己紹介 • 氏名 • 森谷 大輔 • 業務 • 社内ストリーム処理PFの構築 • ストリームなアプリケーションの開発 • ストリーム周りで使う • Kafka, Storm, Cassandra, Elasticsearch 2
  • 4. ストリーム処理復習 • バッチ処理:データをためて、まとめて、一気に処理 • 処理に終わりがある • 高スループット、データが生まれてから結果が出るまでの時間遅 • ストリーム処理:生まれ続けるデータを継続的に逐次処理 • 処理に終わりがない • 低スループット、データが生まれてから結果が出るまでの時間速 4
  • 5. なんでストリーム処理? •速い。以上。 ※個人の見解です • ストリーム処理をしたくなる例 • 不意にものすごく人気が出たTV番組をユーザに通知できたのが番組が終わった後だった • ログから故障しそうなサーバを予見、通知されたがもう既に故障している • ユーザがこの商品に興味があるのは恐らくここ数分だけだ • Webページのこのモジュールのクリック率、急激に悪くなってたからすぐ差し替えたかった 5
  • 6. アジェンダ • イベント概要 • Hadoop Summitにおけるストリーム処理 • セッション紹介 • ① The Future of Apache Storm • ② Ingest and Stream Processing - What Will You Choose? • まとめ 6
  • 7. アジェンダ • イベント概要 • Hadoop Summitにおけるストリーム処理 • セッション紹介 • ① The Future of Apache Storm • ② Ingest and Stream Processing - What Will You Choose? • まとめ 7
  • 8. Hadoop Summit 2016 @San Jose • 日時: 2016/6/28 – 30 • 場所: San Jose McEnery Convention Center • 参加者数: 4000人+ • セッション数: 170+ • ホスト: Hortonworks, Yahoo! Inc. 8
  • 9. • 午前キーノート午後セッションが3日間 • Hadoop 10周年 • 2016/10月 Hadoop Summit Tokyo 9
  • 10. アジェンダ • イベント概要 • Hadoop Summitにおけるストリーム処理 • セッション紹介 • ① The Future of Apache Storm • ② Ingest and Stream Processing - What Will You Choose? • まとめ 10
  • 11. Hadoop Summitにおける ストリーム処理 • ストリーム関連のセッションは想像以上に多かった • 実績話、チューニング、deep dive • keynoteではメインテーマの1つとして”Data at Rest”と”Data in Motion”の扱いについて言及 11 確認した171セッション中 abstract で言及しているセッション数 Kafka 24 Storm 21 Flink 8 Spark Streaming 5 Samza 2 Beam 2 Apex 2 ↑を全てOR 44 参考 Spark 47 Hive 22 NiFi 21 HBase 18 全体の4分の1くらい
  • 12. 肌感 • Kafka + Storm は現状のプロダクション実績においてほとんどデファクトスタンダードのよ うだ • Storm、最近旗色悪そうな気がしていたが予想以上に使われている • Spark StreamingはStormほどではないが使われている • ただしlatencyの問題がある、latency要件が高いユーザはStormに戻る例も • 分散キューとしては聞いた中ではKafka以外の名前は聞かなかった • FlinkやApexといったところは注目されている、がまだ実績は多くない 12
  • 13. アジェンダ • イベント概要 • Hadoop Summitにおけるストリーム処理 • セッション紹介 • ① The Future of Apache Storm • ② Ingest and Stream Processing - What Will You Choose? • まとめ 13
  • 14. The Future of Apache Storm • P. Taylor Goetz @Hortonworks • StormのPMC chair、他ApexやKylinのPMC • Stormの過去と今年4月にリリースした1.0と今後の話 • 0.10.x まで • 1.0の新機能 • 2.xに向けて • よもやま話 14
  • 15. 0.10.xまで • Storm 0.9.x • StormがApacheのトップレベルプロジェクトに • workerの内部通信が0mqからNettyに • 連携系に拡張・改良(Kafka, HDFS, HBase) • dependencyのコンフリクト防止施策 • Storm 0.10.x • セキュリティ追加、マルチテナントのための機能追加 • ローリングアップグレード可能に • Partial Key Groupings • Flux(便利トポロジデプロイツール) • 連携系拡張(Hive, Redis, JDBC) 15
  • 16. 1.0の新機能 • 2016年4月リリース • Pacemaker • ZooKeeperに流していたハートビートの置き換え • スケールのボトルネックだったがこれによって2, 3千ノードのスケールが可能に • Distributed Cache API • トポロジ間でファイル共有できる仕組み(設定ファイルや辞書ファイル等) • トポロジと一緒にデプロイする方法では、ファイルが小さいと問題にならなかったが巨大だとデプロイに時間が かかる問題を解消 • ファイルはコマンドラインからアップデートでき、KBから数GBのサイズ、圧縮をサポート • High Availability Nimbus • Native Streaming Windows • Window処理がやりやすくなるAPI 16
  • 17. 1.0の新機能 • State Management • ステートフルなboltをサポート • checkpointが定期的に更新されて、bolt再開時はそこからstateを復帰 • インメモリのstate実装かRedisが使える • Automatic Back Pressure • バッファサイズの貯まり具合でSpoutのスピードを絞ったり戻したりする • High/Low Watermarkによって指定 • Resource Aware Scheduler • トポロジ毎に必要リソース(メモリ/CPU)を指定して効率的にタスクを割り振れるようになるスケジューラ • クラスタ内のサーバ性能が統一じゃない場合にも有効 • Dynamic Log Levels、お手軽タプルサンプリング、Distributed Log Search... • 最大スループット向上16倍、60%レイテンシ低減 17
  • 18. 2.xに向けて • Storm 1.1.0 • メトリクスAPIの改良 • ユーザ定義のメトリクス • Storm UIで見れるメトリクスを増やす • メトリクスのAmbari連携を強化 • Storm 2.x • Clojure to Java • Streaming SQL 18
  • 19. よもやま話 • パフォーマンスはユースケースによって全く異なる • 外部のベンチマークを鵜呑みにしてはならない、自分でやるのが一番 • Heron vs Storm • 当時Heronが解決した課題は現在ではStormでもほぼ解決してしまった • 機能面でもパフォーマンスでもStormに分がある • Q. Stormは死ぬ? • A. ライバルがそう言ってるだけ • 数百のプロダクション実績とデベロッパコミュニティの活発さが本当の答えだ 19
  • 20. アジェンダ • イベント概要 • Hadoop Summitにおけるストリーム処理 • セッション紹介 • ① The Future of Apache Storm • ② Ingest and Stream Processing - What Will You Choose? • まとめ 20
  • 21. Ingest and Stream Processing – What Will You Choose? • Ted Malaska @Cloudera • ストリーム処理のシステムを構築する上で各コンポーネントのセマンティクスや、実装に は何を選ぶべきかの指針を与える話 • 1個前の話とかなり違うことを言っている 21
  • 22. ストリームの構成とセマンティクス • セマンティクス? 22 At Most Once 重複はしないけど損失はするかも At Least Once 損失はしないけど重複はするかも Exactly Once 損失も重複もしない Producer Kafka Engine Destination At Least Once At Least Once Ordered Partitioned モノによる モノによる
  • 23. Destinations 23 モノ セマンティクス 備考 向いているIngestion ファイルシステム(HDFS 等) Exactly Once可 scanに良い Flume, Kafka Connect Solr Exactly Once可 search queryに良い Flume, Any Streaming Engine NoSQL(HBase等) Exactly Once可 getやputするのに良い Flume, Any Streaming Engine Kudu Exactly Once可 get, put, scanに良い Flume, Kafka Connect, Any Streaming Engine
  • 24. Streaming Engines 24 モノ セマンティクス 特徴 Consumer: Flume, KafkaConnect - ・シンプルだがtransformationはできない ・低レイテンシ ・高スループット Storm At Least Once ・低レイテンシ ・低スループット ・「直に歴史の1ページとなるだろう」 Spark Streaming Exactly Once可 ・最近すごい勢い ・(Stormよりは)高レイテンシ ・高スループット ・SQL, MlLib ・デバッグやユニットテストがしやすい Flink Exactly Once可 ・Sparkに似ている ・(Spark Streamingよりは)低レイテンシ ・実績少 Kafka Streams - ・若い(0歳2ヶ月) ・低レイテンシ ・高スループット
  • 25. アジェンダ • イベント概要 • Hadoop Summitにおけるストリーム処理 • セッション紹介 • ① The Future of Apache Storm • ② Ingest and Stream Processing - What Will You Choose? • まとめ 25
  • 26. まとめ • Hadoop Summitにおけるストリーム処理についての肌感 • 注目されている • Stormのプロダクション実績の多さ • FlinkやApexはこれから • Stormの未来 • 1.0の機能群が強い • ポジショントークに注意、試してみるのが一番かも • ストリーム処理システム構成のヒント • 要件に合わせたStream EngineやDestination選択を 26