Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Sotaro Kimura
PPTX, PDF
5,727 views
Apache NiFiと他プロダクトのつなぎ方
2016/07/27 Apache NiFi 勉強会~データフローの自動化~ での発表資料です。
Engineering
◦
Read more
8
Save
Share
Embed
Embed presentation
Download
Downloaded 41 times
1
/ 24
2
/ 24
3
/ 24
4
/ 24
Most read
5
/ 24
6
/ 24
Most read
7
/ 24
8
/ 24
9
/ 24
10
/ 24
Most read
11
/ 24
12
/ 24
13
/ 24
14
/ 24
15
/ 24
16
/ 24
17
/ 24
18
/ 24
19
/ 24
20
/ 24
21
/ 24
22
/ 24
23
/ 24
24
/ 24
More Related Content
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
by
NTT DATA Technology & Innovation
PPTX
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
by
NTT DATA Technology & Innovation
PPTX
グラフデータベース入門
by
Masaya Dake
PDF
RDF Semantic Graph「RDF 超入門」
by
オラクルエンジニア通信
PDF
Apache NiFi の紹介 #streamctjp
by
Yahoo!デベロッパーネットワーク
PPTX
ビッグデータ処理データベースの全体像と使い分け 2018年version
by
Tetsutaro Watanabe
PPTX
Kafkaを活用するためのストリーム処理の基本
by
Sotaro Kimura
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
by
NTT DATA Technology & Innovation
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
by
NTT DATA Technology & Innovation
グラフデータベース入門
by
Masaya Dake
RDF Semantic Graph「RDF 超入門」
by
オラクルエンジニア通信
Apache NiFi の紹介 #streamctjp
by
Yahoo!デベロッパーネットワーク
ビッグデータ処理データベースの全体像と使い分け 2018年version
by
Tetsutaro Watanabe
Kafkaを活用するためのストリーム処理の基本
by
Sotaro Kimura
What's hot
PDF
Kongの概要と導入事例
by
briscola-tokyo
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
PDF
噛み砕いてKafka Streams #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
PDF
Apache Spark の紹介(前半:Sparkのキホン)
by
NTT DATA OSS Professional Services
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
by
NTT DATA Technology & Innovation
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
by
NTT DATA Technology & Innovation
PDF
LakeTahoe
by
Yahoo!デベロッパーネットワーク
PPT
Cassandraのしくみ データの読み書き編
by
Yuki Morishita
PDF
そのデータフロー NiFiで楽にしてあげましょう
by
Koji Kawamura
PDF
Yahoo! JAPANにおけるApache Cassandraへの取り組み
by
Yahoo!デベロッパーネットワーク
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
by
Insight Technology, Inc.
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
by
NTT DATA Technology & Innovation
PDF
Parser combinatorってなんなのさ
by
cct-inc
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
PDF
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
by
Yahoo!デベロッパーネットワーク
PPTX
これがCassandra
by
Takehiro Torigaki
Kongの概要と導入事例
by
briscola-tokyo
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
噛み砕いてKafka Streams #kafkajp
by
Yahoo!デベロッパーネットワーク
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
Apache Spark の紹介(前半:Sparkのキホン)
by
NTT DATA OSS Professional Services
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
by
NTT DATA Technology & Innovation
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
by
NTT DATA Technology & Innovation
LakeTahoe
by
Yahoo!デベロッパーネットワーク
Cassandraのしくみ データの読み書き編
by
Yuki Morishita
そのデータフロー NiFiで楽にしてあげましょう
by
Koji Kawamura
Yahoo! JAPANにおけるApache Cassandraへの取り組み
by
Yahoo!デベロッパーネットワーク
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
by
Insight Technology, Inc.
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
by
NTT DATA Technology & Innovation
Parser combinatorってなんなのさ
by
cct-inc
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
by
Yahoo!デベロッパーネットワーク
これがCassandra
by
Takehiro Torigaki
More from Sotaro Kimura
PPTX
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
by
Sotaro Kimura
PPTX
Custom management apps for Kafka
by
Sotaro Kimura
PPTX
Spark Structured Streaming with Kafka
by
Sotaro Kimura
PPTX
Modern stream processing by Spark Structured Streaming
by
Sotaro Kimura
PPTX
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
by
Sotaro Kimura
PDF
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
by
Sotaro Kimura
PDF
利用者主体で行う分析のための分析基盤
by
Sotaro Kimura
PDF
最近のストリーム処理事情振り返り
by
Sotaro Kimura
PDF
Stream dataprocessing101
by
Sotaro Kimura
PPTX
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
by
Sotaro Kimura
PPTX
JVM上でのストリーム処理エンジンの変遷
by
Sotaro Kimura
PDF
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
by
Sotaro Kimura
PDF
Gearpump, akka based Distributed Reactive Realtime Engine
by
Sotaro Kimura
PDF
リアルタイム処理エンジンGearpumpの紹介
by
Sotaro Kimura
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
by
Sotaro Kimura
Custom management apps for Kafka
by
Sotaro Kimura
Spark Structured Streaming with Kafka
by
Sotaro Kimura
Modern stream processing by Spark Structured Streaming
by
Sotaro Kimura
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
by
Sotaro Kimura
Kinesis Analyticsの適用できない用途と、Kinesis Firehoseの苦労話
by
Sotaro Kimura
利用者主体で行う分析のための分析基盤
by
Sotaro Kimura
最近のストリーム処理事情振り返り
by
Sotaro Kimura
Stream dataprocessing101
by
Sotaro Kimura
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
by
Sotaro Kimura
JVM上でのストリーム処理エンジンの変遷
by
Sotaro Kimura
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
by
Sotaro Kimura
Gearpump, akka based Distributed Reactive Realtime Engine
by
Sotaro Kimura
リアルタイム処理エンジンGearpumpの紹介
by
Sotaro Kimura
Recently uploaded
PPTX
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
PDF
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
PDF
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
PDF
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
PDF
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
PDF
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
Apache NiFiと他プロダクトのつなぎ方
1.
Apache NiFiと 他プロダクトのつなぎ方 2016/07/27 Apache NiFi
勉強会 〜データフローの自動化〜 木村宗太郎(@kimutansk) https://www.flickr.com/photos/neokratz/4913885458
2.
自己紹介 • 木村 宗太郎(Sotaro
Kimura) • ビッグデータ界隈に生息する何でも屋 • バックエンドからフロントエンド、技術検証から運用、 ドキュメント書きまで色々 • ストリーム処理基盤を調べているうちに NiFiにたどり着き、色々試しています。 • Twitter他 : @kimutansk 1
3.
アジェンダ 1. NiFiと他プロダクトの連携手段 2. 外部データストアを使用する方法 3.
Input・Output Portを使用する方法 4. Flinkとの接続サンプル 2
4.
アジェンダ 1. NiFiと他プロダクトの連携手段 2. 外部データストアを使用する方法 3.
Input・Output Portを使用する方法 4. Flinkとの接続サンプル 3 Apache NiFi自体の説明は 前発表にあるため、省きます。
5.
4 1. NiFiと他プロダクトの連携手段 • NiFiを他プロダクトと連携させるには、 大きく2つの方法がある。 1.
外部データストアを使用する方法 2. Input・Output Portを使用する方法
6.
5 2. 外部データストアを使用する方法 • データストアを介して他プロダクトと連携 •
NiFiはデータストアにデータを保存 • 連携先プロダクトはデータストアから取得 センサー データ ログ アプリ 履歴 データ発生元 NiFi データストア 連携先プロダクト データストアに一度保存してそこから取得
7.
6 2. 外部データストアを使用する方法 • NiFi、連携先共にコンポーネントが必要 •
NiFi側の保持Processorは下記のように多彩 • AMQP • JMS • Kafka • MQTT • Cassandra • Couchbase • Elasticsearch • etc...
8.
7 2. 外部データストアを使用する方法 • 利点 •
並列化で容易にスケールが可能 • データストアの耐障害性を利用可能 • 欠点 • 管理するプロセスが増大し、複雑化 • NiFi、連携先双方で対応コンポーネントが必要
9.
8 3. Input・Output Portを使用する方法 •
NiFiの持つInput・Output Portを介して 他プロダクトと連携 • NiFiから連携先プロダクトが直接取得 センサー データ ログ アプリ 履歴 データ発生元 NiFi 連携先プロダクト
10.
9 3. Input・Output Portを使用する方法 •
Input・Output Portとは? • NiFiプロセス同士が通信するための機構 • Input PortにPushしてNiFiにデータ投入 • Output PortにPullしてNiFiからデータを取得 • 通信路の暗号化も可能(オプション)
11.
10 3. Input・Output Portを使用する方法 •
NiFiの画面上ではヘッダ部に存在 • NiFiプロセスで複数のPortを管理利用可能 ここからドラッグして使用
12.
11 3. Input・Output Portを使用する方法 •
NiFiプロセスで複数のPortを管理利用可能 接続先のNiFi情報 Input Port一覧 Output Port一覧
13.
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...
14.
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
15.
14 3. Input・Output Portを使用する方法 •
利点 • NiFiと直接やり取りが可能で構成がシンプル • Site-to-Siteクライアントを用いることで 幅広いプロダクトで使用可能 • 欠点 • 並列化への対応が不完全(?) • 耐障害性はNiFiの個々プロセスに依存 • あくまでデータフローを構築するための機構で、 データを保持するための機構ではない。
16.
15 4. Flinkとの接続サンプル • 実際に接続した例で何ができるかを見る。 •
具体的にどういう構成になるのか? • 下記のサンプルを基に説明 • https://github.com/bbende/nifi-streaming-examples
17.
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から集約 解析結果を取得 集約・転送を実施
18.
17 4. Flinkとの接続サンプル • EdgeでのFlow定義 ログ読み込み Coreに送信 解析結果取得
19.
18 4. Flinkとの接続サンプル • CoreでのFlow定義 Edgeの結果集約 Flinkの結果待受 Edgeからの待受
20.
19 4. Flinkとの接続サンプル • Flinkアプリケーションの構成 NiFi Source NiFi Sink LogLevel FlatMap LogLevel Window Counter Dictionary Builder NiFiOutputPort からデータ取得 NiFiInputPort にデータ送信 ログメッセージから ログレベル抽出 ログレベルを Windowカウント 統計結果集計
21.
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");
22.
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アプリケーションでも ほぼ同じコード量で同等の機能が実現可能。
23.
まとめ • NiFiと他プロダクトと連携する手段は2つ ① 外部データストアを使用する方法 ②
Input・Output Portを使用する方法 • 利点欠点は両方ある • Input・Output Portを利用するための SiteToSiteClientがNiFiから提供 • FlinkやApexのサンプルが存在 • Flink、Apex共に、 SiteToSiteClientを使えば 数十行のコードでNiFiと接続し、 アプリケーション構築可能 22
24.
Enjoy Apache NiFi
! https://www.flickr.com/photos/99408200@N05/11646500835
Download