Submit Search
Upload
Kafkaを活用するためのストリーム処理の基本
•
Download as PPTX, PDF
•
24 likes
•
8,379 views
Sotaro Kimura
Follow
2016/05/31 Apache Kafka Meetup Japan #1 での発表資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 22
Download now
Recommended
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
Yahoo!デベロッパーネットワーク
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
Yahoo!デベロッパーネットワーク
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
NTT DATA Technology & Innovation
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
Recommended
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
Yahoo!デベロッパーネットワーク
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
Yahoo!デベロッパーネットワーク
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
NTT DATA Technology & Innovation
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
Ken SASAKI
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
Masahito Zembutsu
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Satoshi Nagayasu
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
これがCassandra
これがCassandra
Takehiro Torigaki
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
Yoshiyasu SAEKI
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Sotaro Kimura
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
More Related Content
What's hot
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
Ken SASAKI
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
Masahito Zembutsu
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Satoshi Nagayasu
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
これがCassandra
これがCassandra
Takehiro Torigaki
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
Yoshiyasu SAEKI
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
What's hot
(20)
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
Docker Compose 徹底解説
Docker Compose 徹底解説
これがCassandra
これがCassandra
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Vacuum徹底解説
Vacuum徹底解説
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
Similar to Kafkaを活用するためのストリーム処理の基本
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Sotaro Kimura
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
Akka meetup 2014_sep
Akka meetup 2014_sep
masahitojp
Mackerelのロール内異常検知の設計と運用
Mackerelのロール内異常検知の設計と運用
syou6162
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~
kataware
Apache NiFiと他プロダクトのつなぎ方
Apache NiFiと他プロダクトのつなぎ方
Sotaro Kimura
Zynga
Zynga
awsadvantageseminar
Aws privte20110406 arai
Aws privte20110406 arai
awsadovantageseminar
ハードに強いWebエンジニアになる 「koress式ネットデバイス企画制作」
ハードに強いWebエンジニアになる 「koress式ネットデバイス企画制作」
koress project
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
Junichi Noda
JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷
Sotaro Kimura
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Junichi Noda
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Masahito Zembutsu
Spark Streaming on AWS -S3からKinesisへ-
Spark Streaming on AWS -S3からKinesisへ-
chibochibo
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
法林浩之
Code4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェスト
Masao Takaku
Webサーバの性能測定
Webサーバの性能測定
Ryo Maruyama
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Junichi Noda
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
MicroAd, Inc.(Engineer)
Similar to Kafkaを活用するためのストリーム処理の基本
(20)
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Akka meetup 2014_sep
Akka meetup 2014_sep
Mackerelのロール内異常検知の設計と運用
Mackerelのロール内異常検知の設計と運用
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~
Apache NiFiと他プロダクトのつなぎ方
Apache NiFiと他プロダクトのつなぎ方
Zynga
Zynga
Aws privte20110406 arai
Aws privte20110406 arai
ハードに強いWebエンジニアになる 「koress式ネットデバイス企画制作」
ハードに強いWebエンジニアになる 「koress式ネットデバイス企画制作」
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Spark Streaming on AWS -S3からKinesisへ-
Spark Streaming on AWS -S3からKinesisへ-
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
Code4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェスト
Webサーバの性能測定
Webサーバの性能測定
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
More from Sotaro Kimura
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
Sotaro Kimura
Custom management apps for Kafka
Custom management apps for Kafka
Sotaro Kimura
Spark Structured Streaming with Kafka
Spark Structured Streaming with Kafka
Sotaro Kimura
Modern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured Streaming
Sotaro Kimura
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Sotaro Kimura
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
Sotaro Kimura
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
Stream dataprocessing101
Stream dataprocessing101
Sotaro Kimura
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Sotaro Kimura
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
Sotaro Kimura
Gearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime Engine
Sotaro Kimura
リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介
Sotaro Kimura
More from Sotaro Kimura
(12)
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
Custom management apps for Kafka
Custom management apps for Kafka
Spark Structured Streaming with Kafka
Spark Structured Streaming with Kafka
Modern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured Streaming
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Stream dataprocessing101
Stream dataprocessing101
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
Gearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime Engine
リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介
Kafkaを活用するためのストリーム処理の基本
1.
Kafkaを活用するための ストリーム処理の基本 2016/05/31 Apache Kafka
Meetup Japan #1 木村宗太郎(@kimutansk) https://www.flickr.com/photos/gruenewiese/13194312524
2.
自己紹介 • 木村 宗太郎(Sotaro
Kimura) • ビッグデータ界隈に生息する何でも屋 • バックエンドからフロントエンド、技術検証から運用、 ドキュメント書きまで色々 • Kafkaとの出会いは3年程前に Stormとの連携を試したのがキッカケ。 • だが、その後大規模なものをやる機会には恵まれず... • 自宅サーバには常に入っています。 • Twitter他 : @kimutansk 1
3.
アジェンダ 1. Kafkaのデータ活用モデル 2. ストリーム処理とは? 3.
ストリーム処理プロダクト概況 4. ストリーム処理で考えるべきこと 2
4.
3 1. Kafkaのデータ活用モデル • Kafkaのデータの用い方は大きく2つある。 1.
一気にまとめて取得するモデル 2. 常時取得し続けるモデル
5.
4 1. Kafkaのデータ活用モデル 1. 一気にまとめて取得するモデル Log Log Log Log Log Log Log Log
Log Log Log Log Log Log Log
6.
5 1. Kafkaのデータ活用モデル 1. 一気にまとめて取得するモデル Log
LogLog Log Log Log Log Log LogLog Log Log LogLog Log
7.
6 1. Kafkaのデータ活用モデル 2. 常時取得し続けるモデル Log Log Log Log Log Log Log Log
Log Log Log Log Log Log Log
8.
7 1. Kafkaのデータ活用モデル 2. 常時取得し続けるモデル Log Log Log Log Log Log
Log Log Log Log Log LogLog Log
9.
8 2. ストリーム処理とは? バッチ処理 対話型クエリ
ストリーム処理 実行タイミング 手動起動 定期実行 手動起動 定期実行 常時実行 処理単位 保存済みデータを 一括処理 保存済みデータを 一括処理 1~少数の フローデータを処理 実行時間 分~時間 秒~分 永続実行 データサイズ TBs~PBs GBs~TBs Bs~KBs(1件あたり) 処理時間 分~時間 秒~分 ミリ秒~秒 主な用途 ETL ビジネスレポート生成 機械学習モデリング インタラクティブBI 分析 異常/不正検知 レコメンド 可視化 代表的 OSSプロダクト MapReduce Spark Tez Impala Drill Presto (後述) • ビッグデータの処理モデルは主に3つある。
10.
9 2. ストリーム処理とは? • バッチ処理 •
データストアに蓄積したデータを 一括変換、レポート/モデル生成を行うモデル 生成したデータの出力先は 主にデータストア
11.
10 2. ストリーム処理とは? • 対話型クエリ •
データストアに蓄積したデータに 対してクエリを実行し、結果を取得するモデル クエリの実行結果は実行元 で取得するケースが多い
12.
11 2. ストリーム処理とは? • ストリーム処理 •
「連続発生データを常時処理し続ける」モデル • データの発生元は多岐にわたる センサー データ ログ アプリ 履歴 データ発生元 メッセージキュー ストリーム処理部 データ利用先 Kafkaの主な利用先
13.
12 2. ストリーム処理とは? バッチ処理 対話型クエリ
ストリーム処理 実行タイミング 手動起動 定期実行 手動起動 定期実行 常時実行 処理単位 保存済みデータを 一括処理 保存済みデータを 一括処理 1~少数の フローデータを処理 実行時間 分~時間 秒~分 永続実行 データサイズ TBs~PBs GBs~TBs Bs~KBs(1件あたり) 処理時間 分~時間 秒~分 ミリ秒~秒 主な用途 ETL ビジネスレポート生成 機械学習モデリング インタラクティブBI 分析 異常/不正検知 レコメンド 可視化 代表的 OSSプロダクト MapReduce Spark Tez Impala Drill Presto (後述) • 今回の対象となるのは「ストリーム処理」
14.
13 3. ストリーム処理プロダクト概況 • ストリーム処理を実現するプロダクトは多彩 •
元は2011年のStorm公開を機に広く(?)発展 • 以降のプロダクトにいい意味でも悪い意味でも影響 • 最近多数のプロダクトが公開 • 下記のような派生パターン有 • UIでDataflow定義 • 処理を定義可能なUIを保持するパターン • DSL • 同一の記述で複数のストリーム処理エンジン上で アプリケーションが実行可能
15.
14 3. ストリーム処理プロダクト概況 古 新公開時期 DSL UIで Dataflow定義 純ストリーム処理エンジン Storm Summingbird NiFi Spring
Cloud Data Flow Cask Hydrator Beam Heron SensorBee Kafka Streams Ignite Streaming
16.
15 3. ストリーム処理プロダクト概況 古 新公開時期 DSL UIで Dataflow定義 純ストリーム処理エンジン Storm Summingbird NiFi Spring
Cloud Data Flow Cask Hydrator Beam Heron SensorBee Kafka Streams Ignite Streaming 最近多くプロダクトが公開 正直、追いきれない状況 そのため、どれがいい、とは現状言えない。 (公開される資料はバイアスが・・・) かつ、今良くてもすぐ陳腐化・・・
17.
4. ストリーム処理で考えるべきこと • ストリーム処理を構築する上で 考えるべきことについて説明します。 •
プロダクト選定時 • サービス開発時 • この項目自体も Storm、Spark Streamingから挙げたものです。 • もしFlink、Apex、Gearpump等他プロダクトの 経験者がいれば、是非とも補足を。 16
18.
4. ストリーム処理で考えるべきこと • プロダクト選定時に考えるべき主要観点 1.
実装言語は何か? → 未成熟なまま開発するため、解析必須 2. インストールの際に何が必要? → 各ホストにインストールするのは困難 3. サービス動作中にどこまで更新可能か? → 常時動作する関係上、止められないため。 4. 接続用コンポーネントが揃っているか? → Kafkaはほぼすべてのプロダクトと接続可能 そのため他コンポーネントの充実度が重要 17
19.
4. ストリーム処理で考えるべきこと • サービス開発時に考えるべき主要観点 1.
【必要な場合】Exactly Onceの実現方法 → データストアを用いて冪等性を実現 ストリーム処理単体では実現できない。 2. データがプロセスをまたがないように配置 → シリアライズの遅延も大きな影響になる。 3. 極力メモリ上に収めるか、並列度を調整 → 基本、ディスクに同期的に書かない。 4. ログを集約する機構を準備 → 分散処理ではないとまともに解析できない。 18
20.
まとめ • Kafkaの活用方法には大きく2モデルある 1. 一気にまとめて取得するモデル→バッチ処理 2.
常時取得し続けるモデル→ ストリーム処理 • ストリーム処理ベストプロダクトは選べない • プロダクトは異なっても共通点は多い 1. 性能特性/ボトルネックとなるポイント 2. データ設計 3. 解析を行うための準備 etc • 上記とプロダクト成熟度を踏まえ構築 19
21.
検討ポイント詳細はこちらの資料参照 20 http://www.slideshare.net/SotaroKimura/jvm-62243371
22.
Enjoy stream processing! and
share knowledge! https://www.flickr.com/photos/elf-8/15276069760
Download now