SlideShare a Scribd company logo
1 of 34
Download to read offline
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
2017年7月5日
ヤフー株式会社 小舘 航
DataWorks Summit 2017 San Jose
ストリーム処理関連の報告
Hadoopソースコードリーディング 第23回
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
自己紹介
2
• 小舘 航(こだて わたる) @hbwandeow
• 2012年入社
• 社内ストリーム処理プラットフォームの開発・運用
• ストリーム処理アプリケーションの開発
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
1. DataWorks Summit概要
2. セッション紹介
1. Realizing the promise of portable data processing
with Apache Beam / Google
2. Next Generation Execution Engine for Apache
Storm / Hortonworks
3. まとめ
3
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
1. DataWorks Summit概要
2. セッション紹介
1. Realizing the promise of portable data processing
with Apache Beam / Google
2. Next Generation Execution Engine for Apache
Storm / Hortonworks
3. まとめ
4
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
DataWorks Summit 2017 San Jose
5
• 日時: 2017年6月13日-15日
• 場所: San Jose McEnery Convention Center
• Hadoop Summit→DataWorks Summitに名称を変更
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
イベント詳細
6
• Keynotes+170以上のBreakout sessions
• 発表スライド: https://dataworkssummit.com/san-jose-2017/agenda/
• Training / Crash Course
• Meetup / Bird of a Feather
• 主にストリーム処理関連のセッションを聴講
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
ストリーム処理とは
• 無限に流れてくるデータを処理し続ける
• バッチ処理と比較して速さに価値がある
• ユースケース
• リアルタイム集計、異常検知
例) クリック率急増の検知、Abuserの検知
• 機械学習
例) 商品のレコメンデーション、広告のクリック率予測
• ETL
例) 話題のハッシュタグトップ10
7
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
全体を通しての感想
• 世界の企業では、ストリーム処理はデータ分析プラットフォームの中で当たり
前に使われている。年々、プロダクションでの事例も増えてきており、扱う
データ量やクラスタの規模も大きくなっている
• 主に使われていたストリーム処理実行エンジンはStorm, Spark Streaming,
Flink
• 求められているストリーム処理プラットフォームの特徴
• 低レイテンシ
• 容易な分析インターフェース
• データの完全性
• バッチとの統合
• サイエンス
8
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
1. DataWorks Summit概要
2. セッション紹介
1. Realizing the promise of portable data processing
with Apache Beam / Google
2. Next Generation Execution Engine for Apache
Storm / Hortonworks
3. まとめ
9
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Apache Beam
• Realizing the promise of portable data processing with
Apache Beam / Google
• バッチ処理とストリーム処理を任意のエンジンで実行でき
るモデルを提供
• 2017/05/17 First stable release
• 特徴
1. Unified
2. Portable
3. Extensible
10
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
1. Unified: Beamモデル
• バッチ処理とストリーム処理を同様のモデルで定義
• パイプラインを構築する際に考える必要がある質問
1. What results are calculated?
2. Where in event time are results calculated?
3. When in processing time are results
materialized?
4. How do refinements of results relate?
11
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Processing time vs Event time
12
・Processing time
システムが処理した時間
・Event time
イベントが発生した時間
・必ずしもイベントの発生順にシステムが処理するわけではない
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
13
What is being computed?
変換処理は何か
・ParDo
・GroupByKey
・Combine
・Flatten, Partition
…
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
14
Where in event time?
どこをWindowとするか
・Global windows
・Fixed windows
・Sliding windows
・Session windows
…
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
15
When in processing time?
いつWindow処理を終了するか
・Watermark
Windowの全てのデータが
処理されたとみなす時間
・Trigger
Windowのデータを出力する
タイミング
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
16
How do refinement relate?
どのようにWindowの結果を
反映させるか
・Discarding
・Accumulating
・Accumulating & Retracting
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Beamモデルまとめ
17
変換処理は何か どこをWindow
とするか
いつWindow処理を
終了するか
どのようにWindowの
結果を反映させるか
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
具体的な例1
18
• 有限の入力データに対するワードカウント(Classic Batch)
• What?
単語のキーに対する整数の合計
• Where?
単一のグローバルウィンドウ
• When?
有限な入力データセットが処理された後に1回
• How?
ウィンドウに対して1度出力されるので関係なし
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
具体的な例2
19
• 有限の入力データに対する1時間毎のワードカウント (Windowed
Batch)
• What?
単語のキーに対する整数の合計
• Where?
1時間のEvent timeの固定ウィンドウ
• When?
有限な入力データセットが処理された後に1回
• How?
ウィンドウに対して1度出力されるので関係なし
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
具体的な例3
20
• 無限の入力データに対する1時間毎のワードカウント
(Streaming + Accumulation)
• What?
単語のキーに対する整数の合計
• Where?
1時間のEvent timeの固定ウィンドウ
• When?
• Early: 5分毎のProcessing time
• On-time: Watermarkがウィンドウの最後を通過したとき
• Late: 1分毎のProcessing time
• Final: Watermarkがウィンドウの最後を通過してから2時間後
• How?
前の値に新しい値を累積
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
2. Portable
21
• ユーザが各言語SDKを選
択可能
• Runnerを選択可能
Runnerによって実装可能
な処理が異なる
• 同じソースコードを使って異なるRunnerで実行可能
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
How do you build an abstraction layer?
22
• 各Runnerの共通部分だけでなく、Runnerに合った処理に
変換できるような役割を目指している
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
3. Extensible
• Read/Writeするカスタムソースを定義できる
• SDKs
• Runner
23
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
I/O Transforms
• Built-in I/O
• In-Progress I/O
24
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Beamプログラムの実行
1. Pipelineオブジェクトの作成と実行オプションの選択
2. Source APIを使ってPCollectionを初期化
3. PCollectionにTransformを適用
4. Sink APIを使って、変換処理されたPCollectionを出力
5. Pipeline RunnerでPipelineを実行
25
Source Sink
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
1. DataWorks Summit概要
2. ストリーム処理
3. セッション紹介
1. Realizing the promise of portable data processing
with Apache Beam / Google
2. Next Generation Execution Engine for Apache
Storm / Hortonworks
4. まとめ
26
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Apache Storm
• Next Generation Execution Engine for Apache Storm /
Hortonworks
• 2011年にTwitter社が公開
• 古くからあるストリーム処理実行エンジン
• 現在productionで広く利用されている
27
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Storm 1.X
• Improved Performance(16x faster throughput)
• Pacemaker
• Distributed Cache API
• HA Nimbus
• Window API
• Backpressure
• Resource Aware Scheduler
• Storm Usability Improvements
• …
28
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Storm 2.0
• High performance execution engine
• All Java code(transition away from Clojure)
• Improved Backpressure, Metrics subsystems
• Beam integration, Bounded spouts
• Scheduling Hints, Elasticity
• Dynamic Topology Updates
• …
29
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Performance in 2.0
• メッセージングアーキテクチャの変更(STORM-2306)
• ハイパフォーマンスな内部Queueを選択
• スレッド内の過剰なQueue(主にExecutor内のSend
Queue)を削除
→レイテンシが116xに向上
• Executor, Threadモデルの変更(STORM-2307)
• 同じexecutor threadに異なるタイプのタスクを実行す
ることが可能。タスク間通信を最適化
30
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Scheduling & Elasticity(STORM-2309)
• Worker内部やWorkerをまたがるタスクの実行を最適化した
い
• Parallelism hints
• Worker毎、ホスト毎、クラスタ全体で並列数を設定
• LocalityControl
• タスクの配置場所を制御
• グルーピングの引数で分散を制御
• shuffle(threadLocal)
• fieldsGrouping(nodeLocal)
31
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
Back-Pressure Handling(STORM-2310)
• 後続で処理が詰まらないようにイベントの流量を制御する機構
バージョン1.0から搭載された機能
• データを破棄する
• 古いイベントを破棄、新しいイベントを破棄、データソースのイ
ベントを破棄。これらはアプリケーションの特性に依存
• スケールアウトする
• 処理が追いついていない場合に、自動でプロセスやスレッド、マ
シンを増やす
• 流量を調整する
• 全てのコンポーネントではなく、処理が遅いコンポーネントのみ
前段に伝える
• 受け取るBoltのQueueが詰まっていたら前段からリトライ処理
32
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
1. DataWorks Summit概要
2. セッション紹介
1. Realizing the promise of portable data processing
with Apache Beam / Google
2. Next Generation Execution Engine for Apache
Storm / Hortonworks
3. まとめ
33
Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.
まとめ
• ストリーム処理の一般化、利用規模の拡大。低レイテンシ
+αなプラットフォームが求められる
• Apache Beamはバッチ処理とストリーム処理を統合したモ
デルを提供。開発者に合ったSDKや実行エンジンを選択
し、処理パイプラインをBeamモデルで定義する
• Storm2.0からJavaコードに置き換え。実行プロセスの内部
アーキテクチャが変更され、パフォーマンスが向上
34

More Related Content

What's hot

プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドプランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドYahoo!デベロッパーネットワーク
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreadingDataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreadingYahoo!デベロッパーネットワーク
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みYahoo!デベロッパーネットワーク
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋Yahoo!デベロッパーネットワーク
 
データの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiCデータの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiCYahoo!デベロッパーネットワーク
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_bYahoo!デベロッパーネットワーク
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo!デベロッパーネットワーク
 
Spring Cloud Data Flow で構成される IIJ IoTサービス
Spring Cloud Data Flow で構成される IIJ IoTサービスSpring Cloud Data Flow で構成される IIJ IoTサービス
Spring Cloud Data Flow で構成される IIJ IoTサービスKenji Kondo
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 

What's hot (20)

プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドプランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
広告における機械学習の適用例とシステムについて
広告における機械学習の適用例とシステムについて広告における機械学習の適用例とシステムについて
広告における機械学習の適用例とシステムについて
 
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreadingDataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
 
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
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
 
Storm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreadingStorm の新機能について @HSCR #hadoopreading
Storm の新機能について @HSCR #hadoopreading
 
データの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiCデータの見える化で進めるデータドリブンカンパニー #devsumiC
データの見える化で進めるデータドリブンカンパニー #devsumiC
 
市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①
 
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnightPresto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
 
AMPと広告とOpenRTBと #yjmu
AMPと広告とOpenRTBと #yjmuAMPと広告とOpenRTBと #yjmu
AMPと広告とOpenRTBと #yjmu
 
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b大規模運用で見えるWebプロトコルの理想と現実、そして今後  #html5j #html5j_b
大規模運用で見えるWebプロトコルの理想と現実、そして今後 #html5j #html5j_b
 
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjpElasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
 
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo! JAPANのOSS Cassandra貢献の今までとこれからYahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション②
 
Spring Cloud Data Flow で構成される IIJ IoTサービス
Spring Cloud Data Flow で構成される IIJ IoTサービスSpring Cloud Data Flow で構成される IIJ IoTサービス
Spring Cloud Data Flow で構成される IIJ IoTサービス
 
Yahoo! JAPANにおけるオンライン機械学習実例 #streamctjp
Yahoo! JAPANにおけるオンライン機械学習実例 #streamctjpYahoo! JAPANにおけるオンライン機械学習実例 #streamctjp
Yahoo! JAPANにおけるオンライン機械学習実例 #streamctjp
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 

Similar to Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #23 #hadoopreading

Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo!デベロッパーネットワーク
 
Datadog monitoring with HashiCorp
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorpMasatomo Ito
 
Datadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stackDatadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stackMasatomo Ito
 
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Yahoo!デベロッパーネットワーク
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションオラクルエンジニア通信
 
Interop 2017 in huawei booth
Interop 2017 in huawei boothInterop 2017 in huawei booth
Interop 2017 in huawei boothTomohiro Hirano
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化Nobuyori Takahashi
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Makoto Sato
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話Kamonohashi
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1近藤 繁延
 
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Insight Technology, Inc.
 

Similar to Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #23 #hadoopreading (20)

Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
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
 
Datadog monitoring with HashiCorp
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorp
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
Datadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stackDatadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stack
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
 
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
Interop 2017 in huawei booth
Interop 2017 in huawei boothInterop 2017 in huawei booth
Interop 2017 in huawei booth
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnightPrestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
ヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtechヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtech
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
 

More from Yahoo!デベロッパーネットワーク

ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2Yahoo!デベロッパーネットワーク
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 

More from 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
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: 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 Gamesatsushi061452
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: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...Toru Tamaki
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: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 UnderstandingToru Tamaki
 

Recently uploaded (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: 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
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: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...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: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
 

Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #23 #hadoopreading

  • 1. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 2017年7月5日 ヤフー株式会社 小舘 航 DataWorks Summit 2017 San Jose ストリーム処理関連の報告 Hadoopソースコードリーディング 第23回
  • 2. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 自己紹介 2 • 小舘 航(こだて わたる) @hbwandeow • 2012年入社 • 社内ストリーム処理プラットフォームの開発・運用 • ストリーム処理アプリケーションの開発
  • 3. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ 1. DataWorks Summit概要 2. セッション紹介 1. Realizing the promise of portable data processing with Apache Beam / Google 2. Next Generation Execution Engine for Apache Storm / Hortonworks 3. まとめ 3
  • 4. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ 1. DataWorks Summit概要 2. セッション紹介 1. Realizing the promise of portable data processing with Apache Beam / Google 2. Next Generation Execution Engine for Apache Storm / Hortonworks 3. まとめ 4
  • 5. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. DataWorks Summit 2017 San Jose 5 • 日時: 2017年6月13日-15日 • 場所: San Jose McEnery Convention Center • Hadoop Summit→DataWorks Summitに名称を変更
  • 6. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. イベント詳細 6 • Keynotes+170以上のBreakout sessions • 発表スライド: https://dataworkssummit.com/san-jose-2017/agenda/ • Training / Crash Course • Meetup / Bird of a Feather • 主にストリーム処理関連のセッションを聴講
  • 7. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. ストリーム処理とは • 無限に流れてくるデータを処理し続ける • バッチ処理と比較して速さに価値がある • ユースケース • リアルタイム集計、異常検知 例) クリック率急増の検知、Abuserの検知 • 機械学習 例) 商品のレコメンデーション、広告のクリック率予測 • ETL 例) 話題のハッシュタグトップ10 7
  • 8. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 全体を通しての感想 • 世界の企業では、ストリーム処理はデータ分析プラットフォームの中で当たり 前に使われている。年々、プロダクションでの事例も増えてきており、扱う データ量やクラスタの規模も大きくなっている • 主に使われていたストリーム処理実行エンジンはStorm, Spark Streaming, Flink • 求められているストリーム処理プラットフォームの特徴 • 低レイテンシ • 容易な分析インターフェース • データの完全性 • バッチとの統合 • サイエンス 8
  • 9. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ 1. DataWorks Summit概要 2. セッション紹介 1. Realizing the promise of portable data processing with Apache Beam / Google 2. Next Generation Execution Engine for Apache Storm / Hortonworks 3. まとめ 9
  • 10. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Apache Beam • Realizing the promise of portable data processing with Apache Beam / Google • バッチ処理とストリーム処理を任意のエンジンで実行でき るモデルを提供 • 2017/05/17 First stable release • 特徴 1. Unified 2. Portable 3. Extensible 10
  • 11. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 1. Unified: Beamモデル • バッチ処理とストリーム処理を同様のモデルで定義 • パイプラインを構築する際に考える必要がある質問 1. What results are calculated? 2. Where in event time are results calculated? 3. When in processing time are results materialized? 4. How do refinements of results relate? 11
  • 12. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Processing time vs Event time 12 ・Processing time システムが処理した時間 ・Event time イベントが発生した時間 ・必ずしもイベントの発生順にシステムが処理するわけではない
  • 13. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 13 What is being computed? 変換処理は何か ・ParDo ・GroupByKey ・Combine ・Flatten, Partition …
  • 14. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 14 Where in event time? どこをWindowとするか ・Global windows ・Fixed windows ・Sliding windows ・Session windows …
  • 15. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 15 When in processing time? いつWindow処理を終了するか ・Watermark Windowの全てのデータが 処理されたとみなす時間 ・Trigger Windowのデータを出力する タイミング
  • 16. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved.Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 16 How do refinement relate? どのようにWindowの結果を 反映させるか ・Discarding ・Accumulating ・Accumulating & Retracting
  • 17. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Beamモデルまとめ 17 変換処理は何か どこをWindow とするか いつWindow処理を 終了するか どのようにWindowの 結果を反映させるか
  • 18. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 具体的な例1 18 • 有限の入力データに対するワードカウント(Classic Batch) • What? 単語のキーに対する整数の合計 • Where? 単一のグローバルウィンドウ • When? 有限な入力データセットが処理された後に1回 • How? ウィンドウに対して1度出力されるので関係なし
  • 19. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 具体的な例2 19 • 有限の入力データに対する1時間毎のワードカウント (Windowed Batch) • What? 単語のキーに対する整数の合計 • Where? 1時間のEvent timeの固定ウィンドウ • When? 有限な入力データセットが処理された後に1回 • How? ウィンドウに対して1度出力されるので関係なし
  • 20. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 具体的な例3 20 • 無限の入力データに対する1時間毎のワードカウント (Streaming + Accumulation) • What? 単語のキーに対する整数の合計 • Where? 1時間のEvent timeの固定ウィンドウ • When? • Early: 5分毎のProcessing time • On-time: Watermarkがウィンドウの最後を通過したとき • Late: 1分毎のProcessing time • Final: Watermarkがウィンドウの最後を通過してから2時間後 • How? 前の値に新しい値を累積
  • 21. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 2. Portable 21 • ユーザが各言語SDKを選 択可能 • Runnerを選択可能 Runnerによって実装可能 な処理が異なる • 同じソースコードを使って異なるRunnerで実行可能
  • 22. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. How do you build an abstraction layer? 22 • 各Runnerの共通部分だけでなく、Runnerに合った処理に 変換できるような役割を目指している
  • 23. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. 3. Extensible • Read/Writeするカスタムソースを定義できる • SDKs • Runner 23
  • 24. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. I/O Transforms • Built-in I/O • In-Progress I/O 24
  • 25. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Beamプログラムの実行 1. Pipelineオブジェクトの作成と実行オプションの選択 2. Source APIを使ってPCollectionを初期化 3. PCollectionにTransformを適用 4. Sink APIを使って、変換処理されたPCollectionを出力 5. Pipeline RunnerでPipelineを実行 25 Source Sink
  • 26. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ 1. DataWorks Summit概要 2. ストリーム処理 3. セッション紹介 1. Realizing the promise of portable data processing with Apache Beam / Google 2. Next Generation Execution Engine for Apache Storm / Hortonworks 4. まとめ 26
  • 27. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Apache Storm • Next Generation Execution Engine for Apache Storm / Hortonworks • 2011年にTwitter社が公開 • 古くからあるストリーム処理実行エンジン • 現在productionで広く利用されている 27
  • 28. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Storm 1.X • Improved Performance(16x faster throughput) • Pacemaker • Distributed Cache API • HA Nimbus • Window API • Backpressure • Resource Aware Scheduler • Storm Usability Improvements • … 28
  • 29. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Storm 2.0 • High performance execution engine • All Java code(transition away from Clojure) • Improved Backpressure, Metrics subsystems • Beam integration, Bounded spouts • Scheduling Hints, Elasticity • Dynamic Topology Updates • … 29
  • 30. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Performance in 2.0 • メッセージングアーキテクチャの変更(STORM-2306) • ハイパフォーマンスな内部Queueを選択 • スレッド内の過剰なQueue(主にExecutor内のSend Queue)を削除 →レイテンシが116xに向上 • Executor, Threadモデルの変更(STORM-2307) • 同じexecutor threadに異なるタイプのタスクを実行す ることが可能。タスク間通信を最適化 30
  • 31. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Scheduling & Elasticity(STORM-2309) • Worker内部やWorkerをまたがるタスクの実行を最適化した い • Parallelism hints • Worker毎、ホスト毎、クラスタ全体で並列数を設定 • LocalityControl • タスクの配置場所を制御 • グルーピングの引数で分散を制御 • shuffle(threadLocal) • fieldsGrouping(nodeLocal) 31
  • 32. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. Back-Pressure Handling(STORM-2310) • 後続で処理が詰まらないようにイベントの流量を制御する機構 バージョン1.0から搭載された機能 • データを破棄する • 古いイベントを破棄、新しいイベントを破棄、データソースのイ ベントを破棄。これらはアプリケーションの特性に依存 • スケールアウトする • 処理が追いついていない場合に、自動でプロセスやスレッド、マ シンを増やす • 流量を調整する • 全てのコンポーネントではなく、処理が遅いコンポーネントのみ 前段に伝える • 受け取るBoltのQueueが詰まっていたら前段からリトライ処理 32
  • 33. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ 1. DataWorks Summit概要 2. セッション紹介 1. Realizing the promise of portable data processing with Apache Beam / Google 2. Next Generation Execution Engine for Apache Storm / Hortonworks 3. まとめ 33
  • 34. Copyrig ht © 2017 Yahoo Japan Corporation. All Rig hts Reserved. まとめ • ストリーム処理の一般化、利用規模の拡大。低レイテンシ +αなプラットフォームが求められる • Apache Beamはバッチ処理とストリーム処理を統合したモ デルを提供。開発者に合ったSDKや実行エンジンを選択 し、処理パイプラインをBeamモデルで定義する • Storm2.0からJavaコードに置き換え。実行プロセスの内部 アーキテクチャが変更され、パフォーマンスが向上 34