SlideShare a Scribd company logo
1 of 42
Download to read offline
Is Spark Streaming based on
Reactive Streams?
2016-12-14 もう1つのHadoop Summit
Agenda
back pressureの重要性
Reactive Streamsとは
Spark Streamingのback pressure実装
自己紹介
島本 多可子(@chibochibo03)
株式会社ビズリーチ CTO室
Scala界隈に生息してます
GitBucketもよろしくお願いします
なぜSparkの話を?
2014年半ばからSparkへの取り組みを開始
事例としては小規模
多少のオーバーヘッドは分かった上で使う
小規模でも待望の機能があった
back pressure
back pressureとは
ストリーム処理にてデータのフロー制御を行う
過負荷であることをフィードバックする仕組み
自身の処理能力で処理できるデータ量を伝える
やばい!!
あと2つ!
もー
2つね。
back pressureの重要性
送信側で常に一定のデータ量を保つのは難しい
一時的な増加などの波はある
システム全体として動き続けることは重要
基本的には常にデータが流れている
瞬間的過負荷時の即時性は失われても、止まらないほうがよい
Sparkは1.5からback pressureに対応
spark.streaming.backpressure.enabled
デフォルトはfalse
有効にするにはtrueを設定
spark.streaming.receiver.maxRate
1秒あたりのレコード数の上限
back pressureで調整する際の上限になる
since 1.5
どのように実現しているのか
ストリーム
処理
back pressure
Reactive Streams
Reactive Streamsとは
非同期ストリーム処理の標準化を目指す
ScalaだとAkka Streamsが既にサポート
JDK 9でFlow APIとして導入
Spring 5はReactive対応に
back pressure付き
原理原則
Subscriber側でサイズを制限する
過負荷に直面するとSubscriberはback pressureのシグナルを送る
back pressureのシグナルは非同期であること
Dynamic Push-Pull
Subscriberが高速の場合はpush型
Publisherが高速の場合はpull型
仕様 - Flow API
public final class Flow {
@FunctionalInterface
public static interface Publisher<T> {
public void subscribe(Subscriber<? super T> subscriber);
}
public static interface Subscription {
public void request(long n);
public void cancel();
}
仕様 - Flow API
public static interface Subscriber<T> {
public void onSubscribe(Subscription subscription);
public void onNext(T item);
public void onError(Throwable throwable);
public void onComplete();
}
public static interface Processor<T,R> extends Subscriber<T>, Publisher<R> {}
}
流れ
SubscriberPublisher
Subscription
onSubscribe(Subscription)
流れ
SubscriberPublisher
request(1) 1個
Subscription
onSubscribe(Subscription)
流れ
SubscriberPublisher
onNext(data)
1個request(1)
Subscription
onSubscribe(Subscription)
流れ
SubscriberPublisher
1個
3個
onNext(data)
request(1)
request(3)
Subscription
onSubscribe(Subscription)
流れ
SubscriberPublisher
1個
3個
onNext(data)
request(1)
request(3)
onNext(data)
Subscription
onSubscribe(Subscription)
流れ
SubscriberPublisher
onComplete()
1個
3個
これで
全部!
onNext(data)
request(1)
request(3)
onNext(data)
Subscription
onSubscribe(Subscription)
SparkはReactive Streamsに遵守してる?
答えは、No!!
Though we will just take inspiration from some of the design
principles of the Reactive Streams specification, we do not
intend for Spark's internals to comply with this specification.
Reactive Streamsの設計方針からインスピレーションを受けていますが、私たち
はSparkの内部がこの仕様を遵守するつもりはありません。
要約すると・・・
"4.1 Back-pressure signaling". Spark Streaming back-pressure signaling.
https://docs.google.com/document/d/1ZhiP_yBHcbjifz8nJEyPJpHqxB1FT6s8-Zk
7sAfayQw/edit?usp=sharing, (参照 2016-12-11)
Sparkのback pressureはどうやってる?
きっかけは、StreamingListenerのonBatchCompleted
StreamingListenerトレイト
進行中のストリーム処理に関する情報を受け取るためのリスナー
onBatchCompletedメソッド
1つのminiバッチが完了したときに呼び出される
onBatchCompletedでどんな情報が取れる?
batchTime・・miniバッチ時間
submissionTime・・JobSchedulerのキューに送信された時間
processingStartTime, processingEndTime・・処理開始・終了時間
schedulingDelay・・スケジュール済〜処理開始までの時間(待ち時間)
processingDelay・・処理時間
totalDelay・・スケジュール済〜処理完了までの時間(総所要時間)
遅延がな
ければ0
正常ならバッチ間隔に
収まっている
onBatchCompletedでどんな情報が取れる?
batchTime・・miniバッチ時間
submissionTime・・JobSchedulerのキューに送信された時間
processingStartTime, processingEndTime・・処理開始・終了時間
schedulingDelay・・スケジュール済〜処理開始までの時間(待ち時間)
processingDelay・・処理時間
totalDelay・・スケジュール済〜処理完了までの時間(総所要時間)
この値をRateEstimatorに渡して新しいRateを計算する
仕組み - データ受け取り時
JobScheduler ReceiverSupervisor
BlockGenerator
Driver Executor
ReceiverReceiverTracker
ReceiverInputDStream
JobGenerator
仕組み - データ受け取り時
JobScheduler ReceiverSupervisor
BlockGenerator
Driver Executor
Receiver
push data
ReceiverTracker
ReceiverInputDStream
JobGenerator
ブロック間隔で
区切る
仕組み - データ受け取り時
JobScheduler ReceiverSupervisor
BlockGenerator
add new blocks
Driver Executor
Receiver
push data
ReceiverTracker
ReceiverInputDStream
JobGenerator
仕組み - データ受け取り時
JobScheduler ReceiverSupervisor
BlockGenerator
add new blocks
Driver Executor
Receiver
push data
ReceiverTracker
ReceiverInputDStream
JobGenerator
generateJob
バッチ間隔
ごと
仕組み - データ受け取り時
JobScheduler ReceiverSupervisor
BlockGenerator
add new blocks
Driver Executor
Receiver
push data
ReceiverTracker
ReceiverInputDStream
get blocks
JobGenerator
generateJob
ブロックを問
い合わせ
仕組み - データ受け取り時
JobScheduler ReceiverSupervisor
BlockGenerator
add new blocks
Driver Executor
Receiver
push data
ReceiverTracker
ReceiverInputDStream
get blocks
JobGenerator
submitJobSet
generateJob
ジョブとしてスケ
ジュール
仕組み - バッチ完了時
JobScheduler ReceiverSupervisor
BlockGenerator
Driver Executor
ReceiverTracker
ReceiverInputDStream
ReceiverRateController
仕組み - バッチ完了時
JobScheduler ReceiverSupervisor
BlockGenerator
Driver Executor
ReceiverTracker
ReceiverInputDStream
ReceiverRateController
RateLimiter
StreamingListener
RateController
リスナー
Receiverが受け取る
データ量を制御
仕組み - バッチ完了時
JobScheduler ReceiverSupervisor
BlockGenerator
Driver Executor
ReceiverTracker
ReceiverInputDStream
ReceiverRateController
sendRateUpdat
eonBatchCompleteで
新しいRateを計算
仕組み - バッチ完了時
JobScheduler ReceiverSupervisor
BlockGenerator
Driver Executor
ReceiverTracker
ReceiverInputDStream
ReceiverRateController
sendRateUpdat
e
RPC send
updateRate
Guavaの
RateLimiterに
セット
onBatchCompleteで
新しいRateを計算
ポイント
バッチ完了時をフックして新しいRateが決まる
待ち時間や処理時間などを考慮
新RateはReceiverSupervisorを介してBlockGeneratorに伝播
GuavaのRateLimiterを使ってpushするデータ量を制御
1件ごとにacquireを呼ぶ
レシーバ毎に毎秒許可する件数を超えるとwait
今後どうなる?
Reactive Streamsに遵守!?
https://issues.apache.org/jira/browse/SPARK-10420
Problem
back pressureに関連する情報がReceiverから見えない
Receiverからrequest(1)のようなシグナルを送れない
どこが問題?
ReceiverSupervisor
BlockGenerator
Executor
Receiver
RPC send
New Rate
updateRate
どこが問題?
ReceiverSupervisor
BlockGenerator
Executor
Receiver
RPC send
New Rate
updateRate
新しいRateを知らない!!
改善案
ReceiverSupervisor
BlockGenerator
Executor
Receiver
RPC send
New Rate
updateRateLimit
改善案
ReceiverSupervisor
BlockGenerator
Executor
Receiver
RPC send
New Rate
updateRateLimit
Receiverを
介す
Supervisorのメ
ソッド経由で伝播
Reactive Streamsベースの
Receiverを作成できる
まとめ
従来からあるSparkの機能をうまく使って実現している
JIRAは上がっているけど、優先度は低
Sparkのback pressure Reactive Streams

More Related Content

What's hot

[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向de:code 2017
 
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsAmazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsyuichi_komatsu
 
Hive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみたHive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみたRecruit Technologies
 
20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料Kotaro Tsukui
 
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜Tanaka Yuichi
 
HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpFwardNetwork
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Tatsuya Atsumi
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)オラクルエンジニア通信
 
DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)BrainPad Inc.
 
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpugYasuhiro Matsuo
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】NTT DATA OSS Professional Services
 
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~sugiyama koki
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandradatastaxjp
 
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 キーノート講演資料)Hadoop / Spark Conference Japan
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
DB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works ApplicationsDB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works Applications2t3
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Sotaro Kimura
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best PracticeHadoop / Spark Conference Japan
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)Hadoop / Spark Conference Japan
 

What's hot (20)

[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
 
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTipsAmazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips
 
Hive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみたHive on Spark の設計指針を読んでみた
Hive on Spark の設計指針を読んでみた
 
20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料20111215_第1回EMR勉強会発表資料
20111215_第1回EMR勉強会発表資料
 
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
初めてのSpark streaming 〜kafka+sparkstreamingの紹介〜
 
HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
 
DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)DeltaCubeにおけるユニークユーザー集計高速化(実践編)
DeltaCubeにおけるユニークユーザー集計高速化(実践編)
 
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
 
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandra
 
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 キーノート講演資料)
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
DB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works ApplicationsDB Tech showcase Tokyo 2015 Works Applications
DB Tech showcase Tokyo 2015 Works Applications
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演)
 

Viewers also liked

Awsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩みAwsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩みKeigo Suda
 
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Naoki Yanai
 
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingchibochibo
 
JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷Sotaro Kimura
 
dashDB データロード方法ガイド
dashDB データロード方法ガイドdashDB データロード方法ガイド
dashDB データロード方法ガイドIBM Analytics Japan
 
Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Cloudera Japan
 
Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例Junichi Noda
 
今年のOss業界10大ニュース
今年のOss業界10大ニュース今年のOss業界10大ニュース
今年のOss業界10大ニュースYukio Yoshida
 
Quartzでcronを範囲検索したい
Quartzでcronを範囲検索したいQuartzでcronを範囲検索したい
Quartzでcronを範囲検索したいchibochibo
 
OpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelonaOpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelonaYuki Yamashita
 
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原ThinkIT_impress
 
OpenStack Summit Report
OpenStack Summit ReportOpenStack Summit Report
OpenStack Summit Reportirix_jp
 
Monitoring Spark Applications
Monitoring Spark ApplicationsMonitoring Spark Applications
Monitoring Spark ApplicationsTzach Zohar
 
データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」
データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」
データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」Masayuki Matsushita
 
New directions for Apache Spark in 2015
New directions for Apache Spark in 2015New directions for Apache Spark in 2015
New directions for Apache Spark in 2015Databricks
 
Introduction to Hortonworks Data Cloud for AWS
Introduction to Hortonworks Data Cloud for AWSIntroduction to Hortonworks Data Cloud for AWS
Introduction to Hortonworks Data Cloud for AWSYifeng Jiang
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -chibochibo
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoToshiaki Maki
 
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策Mogi Isamu
 
Stream dataprocessing101
Stream dataprocessing101Stream dataprocessing101
Stream dataprocessing101Sotaro Kimura
 

Viewers also liked (20)

Awsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩みAwsでつくるapache kafkaといろんな悩み
Awsでつくるapache kafkaといろんな悩み
 
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理
 
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streaming
 
JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷
 
dashDB データロード方法ガイド
dashDB データロード方法ガイドdashDB データロード方法ガイド
dashDB データロード方法ガイド
 
Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014
 
Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例
 
今年のOss業界10大ニュース
今年のOss業界10大ニュース今年のOss業界10大ニュース
今年のOss業界10大ニュース
 
Quartzでcronを範囲検索したい
Quartzでcronを範囲検索したいQuartzでcronを範囲検索したい
Quartzでcronを範囲検索したい
 
OpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelonaOpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelona
 
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
 
OpenStack Summit Report
OpenStack Summit ReportOpenStack Summit Report
OpenStack Summit Report
 
Monitoring Spark Applications
Monitoring Spark ApplicationsMonitoring Spark Applications
Monitoring Spark Applications
 
データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」
データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」
データ活用を推進する「Pivotal HDB(Apache HAWQ(ホーク))」
 
New directions for Apache Spark in 2015
New directions for Apache Spark in 2015New directions for Apache Spark in 2015
New directions for Apache Spark in 2015
 
Introduction to Hortonworks Data Cloud for AWS
Introduction to Hortonworks Data Cloud for AWSIntroduction to Hortonworks Data Cloud for AWS
Introduction to Hortonworks Data Cloud for AWS
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyo
 
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
 
Stream dataprocessing101
Stream dataprocessing101Stream dataprocessing101
Stream dataprocessing101
 

Similar to Is spark streaming based on reactive streams?

20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナーTakahiro Iwase
 
ScalaでDSP作ってみた
ScalaでDSP作ってみたScalaでDSP作ってみた
ScalaでDSP作ってみたJiro Hiraiwa
 
SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行Hironori Tanaka
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-LINE Corp.
 
OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】Midori Oge
 
20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」
20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」
20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」MasashiOtsuka1
 
qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所Masahiro NAKAYAMA
 
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...Insight Technology, Inc.
 
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Sotaro Kimura
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」Rescale Japan株式会社
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用Kosuke Kida
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、DatabricksでもやってみましょうかRyuichi Tokugami
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
Spark Summit 2015 参加報告
Spark Summit 2015 参加報告Spark Summit 2015 参加報告
Spark Summit 2015 参加報告Katsunori Kanda
 
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~Iwasaki Noboru
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはKoji Shinkubo
 

Similar to Is spark streaming based on reactive streams? (20)

20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
ScalaでDSP作ってみた
ScalaでDSP作ってみたScalaでDSP作ってみた
ScalaでDSP作ってみた
 
SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行SANsymphony-Vを使ったSoftLayerへの簡単データ移行
SANsymphony-Vを使ったSoftLayerへの簡単データ移行
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
 
OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】
 
20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」
20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」
20190619_chillSAPイベント「SORACOMのあのボタンでオンプレSAPを操作してみた」
 
qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所
 
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
 
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
 
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPANSAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか平成最後の1月ですし、Databricksでもやってみましょうか
平成最後の1月ですし、Databricksでもやってみましょうか
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
Spark Summit 2015 参加報告
Spark Summit 2015 参加報告Spark Summit 2015 参加報告
Spark Summit 2015 参加報告
 
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
 

More from chibochibo

Tour of Apache PredictionIO in 10 Minutes
Tour of Apache PredictionIO in 10 MinutesTour of Apache PredictionIO in 10 Minutes
Tour of Apache PredictionIO in 10 Minuteschibochibo
 
Crawler Commons
Crawler CommonsCrawler Commons
Crawler Commonschibochibo
 
Deadly Code! (seriously) Blocking &amp; Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking &amp; Hyper Context Switching PatternDeadly Code! (seriously) Blocking &amp; Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking &amp; Hyper Context Switching Patternchibochibo
 
Dynamic SQL in doobie
Dynamic SQL in doobieDynamic SQL in doobie
Dynamic SQL in doobiechibochibo
 
nioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったnioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったchibochibo
 
Spark Streaming on AWS -S3からKinesisへ-
Spark Streaming on AWS -S3からKinesisへ-Spark Streaming on AWS -S3からKinesisへ-
Spark Streaming on AWS -S3からKinesisへ-chibochibo
 
Spark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with ElasticsearchSpark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with Elasticsearchchibochibo
 
What's a macro?: Learning by Examples
What's a macro?: Learning by ExamplesWhat's a macro?: Learning by Examples
What's a macro?: Learning by Exampleschibochibo
 
Spring Boot Introduction
Spring Boot IntroductionSpring Boot Introduction
Spring Boot Introductionchibochibo
 

More from chibochibo (11)

Tour of Apache PredictionIO in 10 Minutes
Tour of Apache PredictionIO in 10 MinutesTour of Apache PredictionIO in 10 Minutes
Tour of Apache PredictionIO in 10 Minutes
 
Crawler Commons
Crawler CommonsCrawler Commons
Crawler Commons
 
LocalStack
LocalStackLocalStack
LocalStack
 
Deadly Code! (seriously) Blocking &amp; Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking &amp; Hyper Context Switching PatternDeadly Code! (seriously) Blocking &amp; Hyper Context Switching Pattern
Deadly Code! (seriously) Blocking &amp; Hyper Context Switching Pattern
 
Dynamic SQL in doobie
Dynamic SQL in doobieDynamic SQL in doobie
Dynamic SQL in doobie
 
nioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になったnioで作ったBufferedWriterに変えたら例外になった
nioで作ったBufferedWriterに変えたら例外になった
 
Spark Streaming on AWS -S3からKinesisへ-
Spark Streaming on AWS -S3からKinesisへ-Spark Streaming on AWS -S3からKinesisへ-
Spark Streaming on AWS -S3からKinesisへ-
 
Spark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with ElasticsearchSpark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with Elasticsearch
 
What's a macro?: Learning by Examples
What's a macro?: Learning by ExamplesWhat's a macro?: Learning by Examples
What's a macro?: Learning by Examples
 
Spring Boot Introduction
Spring Boot IntroductionSpring Boot Introduction
Spring Boot Introduction
 
Slick入門
Slick入門Slick入門
Slick入門
 

Is spark streaming based on reactive streams?