SlideShare a Scribd company logo
1 of 24
Apache NiFiと
他プロダクトのつなぎ方
2016/07/27
Apache NiFi 勉強会
〜データフローの自動化〜
木村宗太郎(@kimutansk)
https://www.flickr.com/photos/neokratz/4913885458
自己紹介
• 木村 宗太郎(Sotaro Kimura)
• ビッグデータ界隈に生息する何でも屋
• バックエンドからフロントエンド、技術検証から運用、
ドキュメント書きまで色々
• ストリーム処理基盤を調べているうちに
NiFiにたどり着き、色々試しています。
• Twitter他 : @kimutansk
1
アジェンダ
1. NiFiと他プロダクトの連携手段
2. 外部データストアを使用する方法
3. Input・Output Portを使用する方法
4. Flinkとの接続サンプル
2
アジェンダ
1. NiFiと他プロダクトの連携手段
2. 外部データストアを使用する方法
3. Input・Output Portを使用する方法
4. Flinkとの接続サンプル
3
Apache NiFi自体の説明は
前発表にあるため、省きます。
4
1. NiFiと他プロダクトの連携手段
• NiFiを他プロダクトと連携させるには、
大きく2つの方法がある。
1. 外部データストアを使用する方法
2. Input・Output Portを使用する方法
5
2. 外部データストアを使用する方法
• データストアを介して他プロダクトと連携
• NiFiはデータストアにデータを保存
• 連携先プロダクトはデータストアから取得
センサー
データ
ログ
アプリ
履歴
データ発生元 NiFi データストア 連携先プロダクト
データストアに一度保存してそこから取得
6
2. 外部データストアを使用する方法
• NiFi、連携先共にコンポーネントが必要
• NiFi側の保持Processorは下記のように多彩
• AMQP
• JMS
• Kafka
• MQTT
• Cassandra
• Couchbase
• Elasticsearch
• etc...
7
2. 外部データストアを使用する方法
• 利点
• 並列化で容易にスケールが可能
• データストアの耐障害性を利用可能
• 欠点
• 管理するプロセスが増大し、複雑化
• NiFi、連携先双方で対応コンポーネントが必要
8
3. Input・Output Portを使用する方法
• NiFiの持つInput・Output Portを介して
他プロダクトと連携
• NiFiから連携先プロダクトが直接取得
センサー
データ
ログ
アプリ
履歴
データ発生元 NiFi 連携先プロダクト
9
3. Input・Output Portを使用する方法
• Input・Output Portとは?
• NiFiプロセス同士が通信するための機構
• Input PortにPushしてNiFiにデータ投入
• Output PortにPullしてNiFiからデータを取得
• 通信路の暗号化も可能(オプション)
10
3. Input・Output Portを使用する方法
• NiFiの画面上ではヘッダ部に存在
• NiFiプロセスで複数のPortを管理利用可能
ここからドラッグして使用
11
3. Input・Output Portを使用する方法
• NiFiプロセスで複数のPortを管理利用可能
接続先のNiFi情報
Input Port一覧 Output Port一覧
12
3. Input・Output Portを使用する方法
• 他プロダクトから用いるには?
• Site-To-Site Clientという
再利用可能なクライアントとしてNiFiから提供
• ※Java製
• https://github.com/apache/nifi/tree/master/nifi-commons/nifi-site-to-site-client
• これを用いることで任意のJavaプロセスが
NiFiと直接通信する処理を容易に記述可能
• 使用したExampleも色々ある
• Apache Flink
• Apache Apex
• etc...
13
3. Input・Output Portを使用する方法
• 下記のような構成で使用可能
• 複数のNiFiプロセスから取得・投入可能(?)
• 取得側がクラスタの場合も対応可能だが、
ロードバランスの方式は考える必要あり?
• ※現状GitHub上のコードでは1Client:1Host接続の実装しかない・・・
Java Program
Site-To-Site Client
NiFi Process 1
Output Port
NiFi Process 2
Output Port
14
3. Input・Output Portを使用する方法
• 利点
• NiFiと直接やり取りが可能で構成がシンプル
• Site-to-Siteクライアントを用いることで
幅広いプロダクトで使用可能
• 欠点
• 並列化への対応が不完全(?)
• 耐障害性はNiFiの個々プロセスに依存
• あくまでデータフローを構築するための機構で、
データを保持するための機構ではない。
15
4. Flinkとの接続サンプル
• 実際に接続した例で何ができるかを見る。
• 具体的にどういう構成になるのか?
• 下記のサンプルを基に説明
• https://github.com/bbende/nifi-streaming-examples
NiFi Process 1
NiFi Process 1
16
4. Flinkとの接続サンプル
• サンプルを構築した際の構成
Core NiFi
Input Port
Flink
StSClient
StSClient
Output Port
Input Port
Http Endpoint
Edge NiFi
StS Client
Http Client
ログ解析を行い、
結果を返信
ログを
Edgeから集約
解析結果を取得 集約・転送を実施
17
4. Flinkとの接続サンプル
• EdgeでのFlow定義
ログ読み込み
Coreに送信
解析結果取得
18
4. Flinkとの接続サンプル
• CoreでのFlow定義
Edgeの結果集約
Flinkの結果待受
Edgeからの待受
19
4. Flinkとの接続サンプル
• Flinkアプリケーションの構成
NiFi
Source
NiFi
Sink
LogLevel
FlatMap
LogLevel
Window
Counter
Dictionary
Builder
NiFiOutputPort
からデータ取得
NiFiInputPort
にデータ送信
ログメッセージから
ログレベル抽出
ログレベルを
Windowカウント
統計結果集計
20
4. Flinkとの接続サンプル
• Flinkアプリケーションの構築コード
// NiFiDataPacket(NiFi提供)を実行単位とするNiFi用Source生成し、実行環境に設定
SourceFunction<NiFiDataPacket> nifiSource = new NiFiSource(sourceConfig);
DataStream<NiFiDataPacket> streamSource = env.addSource(nifiSource);
// ログレベル抽出Mapper生成
LogLevelFlatMap logLevelFlatMap = new LogLevelFlatMap(props.getLogLevelAttribute());
// ログレベルWindowCounter生成
LogLevelWindowCounter windowCounter = new LogLevelWindowCounter();
// 統計結果集計Builder生成
NiFiDataPacketBuilder<LogLevels> builder = new DictionaryBuilder(windowSize, rateThreshold);
// アプリケーション構築
streamSource.flatMap(logLevelFlatMap)
.timeWindowAll(Time.of(windowSize, TimeUnit.MILLISECONDS))
.apply(new LogLevelWindowCounter()).addSink(new NiFiSink<>(sinkConfig, builder));
// ストリーム処理アプリケーション起動
env.execute("WindowLogLevelCount");
21
4. Flinkとの接続サンプル
• Flinkアプリケーションの構築コード
// NiFiDataPacket(NiFi提供)を実行単位とするNiFi用Source生成し、実行環境に設定
SourceFunction<NiFiDataPacket> nifiSource = new NiFiSource(sourceConfig);
DataStream<NiFiDataPacket> streamSource = env.addSource(nifiSource);
// ログレベル抽出Mapper生成
LogLevelFlatMap logLevelFlatMap = new LogLevelFlatMap(props.getLogLevelAttribute());
// ログレベルWindowCounter生成
LogLevelWindowCounter windowCounter = new LogLevelWindowCounter();
// 統計結果集計Builder生成
NiFiDataPacketBuilder<LogLevels> builder = new DictionaryBuilder(windowSize, rateThreshold);
// アプリケーション構築
streamSource.flatMap(logLevelFlatMap)
.timeWindowAll(Time.of(windowSize, TimeUnit.MILLISECONDS))
.apply(new LogLevelWindowCounter()).addSink(new NiFiSink<>(sinkConfig, builder));
// ストリーム処理アプリケーション起動
env.execute("WindowLogLevelCount");
Apexアプリケーションでも
ほぼ同じコード量で同等の機能が実現可能。
まとめ
• NiFiと他プロダクトと連携する手段は2つ
① 外部データストアを使用する方法
② Input・Output Portを使用する方法
• 利点欠点は両方ある
• Input・Output Portを利用するための
SiteToSiteClientがNiFiから提供
• FlinkやApexのサンプルが存在
• Flink、Apex共に、 SiteToSiteClientを使えば
数十行のコードでNiFiと接続し、
アプリケーション構築可能
22
Enjoy Apache NiFi !
https://www.flickr.com/photos/99408200@N05/11646500835

More Related Content

What's hot

そのデータフロー NiFiで楽にしてあげましょう
そのデータフロー NiFiで楽にしてあげましょうそのデータフロー NiFiで楽にしてあげましょう
そのデータフロー NiFiで楽にしてあげましょうKoji Kawamura
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜Akira Nakagawa
 
PythonによるOPC-UAの利用
PythonによるOPC-UAの利用PythonによるOPC-UAの利用
PythonによるOPC-UAの利用Kioto Hirahara
 
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Kiyotaka Doumae
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...whywaita
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはBrocade
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414Kentaro Ebisawa
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
RDF/OWLの概要及びOSS実装、及び活用イメージについて
RDF/OWLの概要及びOSS実装、及び活用イメージについてRDF/OWLの概要及びOSS実装、及び活用イメージについて
RDF/OWLの概要及びOSS実装、及び活用イメージについてMasayuki Isobe
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールdcubeio
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~NTT Communications Technology Development
 
ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)KnowledgeGraph
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話Daichi Koike
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」Recruit Technologies
 

What's hot (20)

モノタロウの商品データ連携について
モノタロウの商品データ連携についてモノタロウの商品データ連携について
モノタロウの商品データ連携について
 
そのデータフロー NiFiで楽にしてあげましょう
そのデータフロー NiFiで楽にしてあげましょうそのデータフロー NiFiで楽にしてあげましょう
そのデータフロー NiFiで楽にしてあげましょう
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
 
OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方
 
PythonによるOPC-UAの利用
PythonによるOPC-UAの利用PythonによるOPC-UAの利用
PythonによるOPC-UAの利用
 
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
RDF/OWLの概要及びOSS実装、及び活用イメージについて
RDF/OWLの概要及びOSS実装、及び活用イメージについてRDF/OWLの概要及びOSS実装、及び活用イメージについて
RDF/OWLの概要及びOSS実装、及び活用イメージについて
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」
 

Similar to Apache NiFiと 他プロダクトのつなぎ方

Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築Junichi Noda
 
SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編kk_Ataka
 
Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例Junichi Noda
 
2015 10 24_spark_osc15tk
2015 10 24_spark_osc15tk2015 10 24_spark_osc15tk
2015 10 24_spark_osc15tkJunichi Noda
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Sotaro Kimura
 
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)Junichi Noda
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data scienceTakami Sato
 
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括kk_Ataka
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル敦志 金谷
 
Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)FFRI, Inc.
 
fluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよfluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよara_ta3
 
fluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよfluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよara_ta3
 
図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうにはTakanori Hayashi
 
Jupyterで運用やってみた
Jupyterで運用やってみたJupyterで運用やってみた
Jupyterで運用やってみたSatoshi Yazawa
 
SIerでもSphinxを使いたい! 後編
SIerでもSphinxを使いたい! 後編SIerでもSphinxを使いたい! 後編
SIerでもSphinxを使いたい! 後編kk_Ataka
 
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04敦志 金谷
 
FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介Recruit Technologies
 
Firestoreを勉強してみた
Firestoreを勉強してみたFirestoreを勉強してみた
Firestoreを勉強してみたishikawa akira
 
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるものさくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの法林浩之
 

Similar to Apache NiFiと 他プロダクトのつなぎ方 (20)

Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
 
SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編
 
Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例
 
2015 10 24_spark_osc15tk
2015 10 24_spark_osc15tk2015 10 24_spark_osc15tk
2015 10 24_spark_osc15tk
 
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
 
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
Spark Streamingで作る、つぶやきビッグデータのクローン (2015-11.10版)
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data science
 
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 
Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)
 
fluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよfluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよ
 
fluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよfluentdとnorikraが便利そうだから使ってみようよ
fluentdとnorikraが便利そうだから使ってみようよ
 
図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには
 
Jupyterで運用やってみた
Jupyterで運用やってみたJupyterで運用やってみた
Jupyterで運用やってみた
 
SIerでもSphinxを使いたい! 後編
SIerでもSphinxを使いたい! 後編SIerでもSphinxを使いたい! 後編
SIerでもSphinxを使いたい! 後編
 
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
 
FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介
 
Firestoreを勉強してみた
Firestoreを勉強してみたFirestoreを勉強してみた
Firestoreを勉強してみた
 
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるものさくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
 

More from Sotaro Kimura

スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介Sotaro Kimura
 
Custom management apps for Kafka
Custom management apps for KafkaCustom management apps for Kafka
Custom management apps for KafkaSotaro Kimura
 
Spark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSpark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSotaro Kimura
 
Modern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured StreamingModern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured StreamingSotaro Kimura
 
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Sotaro Kimura
 
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話Sotaro Kimura
 
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤Sotaro Kimura
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返りSotaro Kimura
 
Stream dataprocessing101
Stream dataprocessing101Stream dataprocessing101
Stream dataprocessing101Sotaro Kimura
 
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Sotaro Kimura
 
JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷Sotaro Kimura
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?Sotaro Kimura
 
Gearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime EngineGearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime EngineSotaro Kimura
 
リアルタイム処理エンジン Gearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジン Gearpumpの紹介Sotaro Kimura
 

More from Sotaro Kimura (14)

スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
 
Custom management apps for Kafka
Custom management apps for KafkaCustom management apps for Kafka
Custom management apps for Kafka
 
Spark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSpark Structured Streaming with Kafka
Spark Structured Streaming with Kafka
 
Modern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured StreamingModern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured Streaming
 
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
 
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
 
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 
Stream dataprocessing101
Stream dataprocessing101Stream dataprocessing101
Stream dataprocessing101
 
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
 
JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷JVM上でのストリーム処理エンジンの変遷
JVM上でのストリーム処理エンジンの変遷
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
 
Gearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime EngineGearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime Engine
 
リアルタイム処理エンジン Gearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジン Gearpumpの紹介
 

Apache NiFiと 他プロダクトのつなぎ方