SlideShare a Scribd company logo
ヤフー株式会社 データ&サイエンスソリューション統括本部
杉山 朋広
Apache NiFi の紹介
自己紹介
杉山 朋広
データ&サイエンスソリューション統括本部
データプラットフォーム本部開発2部
データフローチーム
• ヤフーのデータ基盤にデータフローシステムの導入を検討中
• 社内のデータ基盤利用サービスを対象にデータフロー導入プロジェクトを推進中
• Apache NiFiをはじめとする、データフローツールの評価・検証
2
アジェンダ
Apache NiFiの紹介
なぜデータフローが必要か?
既存のインフラとの関係
アジェンダ
Apache NiFiの紹介
なぜデータフローが必要か?
既存のインフラとの関係
Apache NiFi とは
データの処理と配送のための
簡単、パワフル、且つ信頼性が高いシステム
5
Apache NiFi とは
Hadoop, AWS, RDB, KVS だけでなくKafkaやMQ、
Firehoseなど、多彩なデータソースをサポート
6
OSS系 クラウド系
データフローシステムの台頭
OSSだけでなくクラウドベンダーもデータフローを提供
7
よく聞かれる声
総じてデータフローの必要性があまり理解されていない感
8
NiFiって何に使えるんですか?
OozieやAirflowと何がちがうの?
これあったらKafkaいらない?
大きいデータを転送できますか?
スループットはどれくらいですか?
どれくらいスケールするの?
アジェンダ
Apache NiFiの紹介
なぜデータフローが必要か?
既存のインフラとの関係
データフローとSOA
Apache NiFi → Dataflow → Flow-based Programming(FBP) Service-oriented
architecture(SOA) にフィットしているらしい
10
FBP exhibits "data coupling", described in the article on coupling as the loosest type of coupling
between components. The concept of loose coupling is in turn related to that of service-oriented
architectures, and FBP fits a number of the criteria for such an architecture, albeit at a more
fine-grained level than most examples of this architecture.
(https://en.wikipedia.org/wiki/Flow-based_programming)
Now though there are a number of active and rapidly evolving movements making
dataflow a lot more interesting and a lot more vital to the success of a given enterprise.
These include things like; Service Oriented Architecture, the rise of the API, Internet of
Things, and Big Data.
(https://nifi.apache.org/docs.html)
DatabaseApplication Server
従来型SOA
サイロ化されたコンポーネントでサービスを提供
11
App
App
App
DatabaseApplication Server
従来型SOA
データフローは設計書に書くのが一般的
12
App
App
App
DFD
DatabaseApplication Server
従来型SOA
データフローの変更は、システムの変更となり設計やテスト・移行が発生
する大きなイベント
13
App
App
App
DFD
App
DFD←
設計 開発
テスト
移行
マイクロサービス
柔軟で迅速な変更に対応するために、小規模なサービスを組み合わせ
て一つのサービスを提供する手法
14
マイクロサービス
柔軟で迅速な変更に対応するために、小規模なサービスを組み合わせ
て一つのサービスを提供する手法
15
マイクロサービス
柔軟で迅速な変更に対応するために、小規模なサービスを組み合わせ
て一つのサービスを提供する手法
16
マイクロサービス
マイクロサービス化が進行すると、従来の手法のオーバーヘッドが問題
となってくると考えられる
17
DFD
DFD
DFD
DFD
DFD
データフローの機能
Flow-based Programmingの概念に則った処理ノードやキューを提供
18
Flow File
(Information Packet)
システム内を移動するオブジェクトの実体
Processor
(Black Box)
データの転送や変換などの処理を行う
Connection
(Bounded Buffer)
Processor間のリンケージを提供しキューとして機能する
FlowController
(Scheduler)
Processor間のFlowFile交換のためのブローカー
※()内はFBPでの表現
Dataflow System
P P P P P P P P P P
Connection
データフローの適用
従来、人手による設計やシステム変更を代替えしマイクロサービスの機
能追加や変更を迅速化
19
Flow
Controller
データフローにより得られるもの
マイクロサービスの発展とともに顕著化した
新たな課題を解決するための新たな機能
20
迅速な追加・変更
一貫したフロー制御
ガバナンスの確立
• 設計書にしかなかったデータフローをソフトウェアで管理
• 予め用意されたProcessorを使うことでロード処理の作成が不要に
• 簡単な操作で変更できるリンケージ(Connection)
• フロー制御機能の提供
• キュー制御機能の提供
• 障害時のリカバリ・再送機能の提供
• Processor, FlowFile, Connectionなどに対する細やかな権限設定
• FlowFileやキューのトラッキング(Data Provenance ~ データの由来)
• スキーマの管理機能(Avro/HWX Schema Registory)
アジェンダ
Apache NiFiの紹介
なぜデータフローが必要か?
既存のインフラとの関係
Dataflow System
P P
Connection
ワークフローエンジンとの関係
ひとつのサービスの中のジョブネットはワークフロー制御すべき
データフローとワークフローは共存する
22
Workflow System
Job Network X
Job A
Job B
Job C
Job Network Y
Job D
Job E
Job F
System2
System1
メッセージキューとの関係
データフローのキューで置き換え可能だが、性能面で好ましくない
性能に特化したコンポーネントは複数のデータフローで共用も可能
23
Kafka
ActiveMQ
..etc
P P P
23
P P
P P P PP
まとめ
• Apache NiFiはデータフローオーケストレーションソフト
ウェアのひとつ
• マイクロサービスの発展に伴って顕著化した
新しい課題を解決するための新しいツール
• 既存のワークフローエンジンやメッセージキューを置き換
えるものではない
24
ご清聴ありがとうございました

More Related Content

PDF
Apache Hadoop YARNとマルチテナントにおけるリソース管理
PDF
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
PPTX
コンテナネットワーキング(CNI)最前線
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
Apache Kafka 0.11 の Exactly Once Semantics
Apache Hadoop YARNとマルチテナントにおけるリソース管理
"Yahoo! JAPAN の Kubernetes-as-a-Service" で加速するアプリケーション開発
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
コンテナネットワーキング(CNI)最前線
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Apache Kafka 0.11 の Exactly Once Semantics

What's hot (20)

PDF
ビッグデータ処理データベースの全体像と使い分け
PPTX
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
PDF
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
PDF
アサヒのデータ活用基盤を支えるデータ仮想化技術
PDF
DockerとPodmanの比較
PPTX
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
PDF
Spring Cloud Data Flow の紹介 #streamctjp
PPTX
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PPT
DataGuard体験記
PDF
IoT時代におけるストリームデータ処理と急成長の Apache Flink
PDF
推薦アルゴリズムの今までとこれから
PDF
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
ビッグデータ処理データベースの全体像と使い分け
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
アサヒのデータ活用基盤を支えるデータ仮想化技術
DockerとPodmanの比較
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Spring Cloud Data Flow の紹介 #streamctjp
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
DataGuard体験記
IoT時代におけるストリームデータ処理と急成長の Apache Flink
推薦アルゴリズムの今までとこれから
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
Ad

Similar to Apache NiFi の紹介 #streamctjp (20)

PDF
Data Scientist Workbench - dots0729
PDF
DBTS2016 Data as Code - Delphix
PDF
内製パッケージによるHadoopデータ解析基盤の構築と運用
PDF
0151209 Oracle DDD OracleとHadoop連携の勘所
PPTX
社内でアジャイルと出会った新卒2年目がインフラ部隊でタスク可視化をやってみた話
PDF
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
PDF
PaaS / Cloud Foundry makes you happy
PDF
ビッグデータ関連Oss動向調査とニーズ分析
PDF
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
PDF
楽天がCloud foundryを選んだ理由
PDF
産総研AIクラウドでChainerMN
PDF
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
PDF
Asakusaによる分散分析基盤構築事例紹介
PDF
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
PDF
経済学のための実践的データ分析 5.特許データの分析
PDF
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
PDF
Hadoop ecosystem NTTDATA osc15tk
KEY
20121103 #odstudy できる! VBAマクロ
PDF
OSC2014 Tokyo/Spring Hadoop
PDF
データ分析を支える技術 データ分析基盤再入門
Data Scientist Workbench - dots0729
DBTS2016 Data as Code - Delphix
内製パッケージによるHadoopデータ解析基盤の構築と運用
0151209 Oracle DDD OracleとHadoop連携の勘所
社内でアジャイルと出会った新卒2年目がインフラ部隊でタスク可視化をやってみた話
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
PaaS / Cloud Foundry makes you happy
ビッグデータ関連Oss動向調査とニーズ分析
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
楽天がCloud foundryを選んだ理由
産総研AIクラウドでChainerMN
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
Asakusaによる分散分析基盤構築事例紹介
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
経済学のための実践的データ分析 5.特許データの分析
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
Hadoop ecosystem NTTDATA osc15tk
20121103 #odstudy できる! VBAマクロ
OSC2014 Tokyo/Spring Hadoop
データ分析を支える技術 データ分析基盤再入門
Ad

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

PDF
ゼロから始める転移学習
PDF
継続的なモデルモニタリングを実現するKubernetes Operator
PDF
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
PDF
オンプレML基盤on Kubernetes パネルディスカッション
PDF
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
PDF
Persistent-memory-native Database High-availability Feature
PDF
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
PDF
eコマースと実店舗の相互利益を目指したデザイン #yjtc
PDF
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
PDF
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
PDF
ビッグデータから人々のムードを捉える #yjtc
PDF
サイエンス領域におけるMLOpsの取り組み #yjtc
PDF
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
PDF
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
PDF
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
PDF
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PDF
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
PDF
「新しいおうち探し」のためのAIアシスト検索 #yjtc
PDF
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ゼロから始める転移学習
継続的なモデルモニタリングを実現するKubernetes Operator
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Persistent-memory-native Database High-availability Feature
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
eコマースと実店舗の相互利益を目指したデザイン #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
ビッグデータから人々のムードを捉える #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc

Apache NiFi の紹介 #streamctjp