Apache NiFi
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>分散処理:データ収集・格納系]]([[EAI/ETL]]
--[[Apache Sqoop]]
--[[Fluentd/Embulk]]
--[[Logsatsh, Beats>Elasticsearch#r521f91b]]
--[[Apache Flume]]
--Apache NiFi
--[[Apache Kafka]]
*目次 [#e9d8b189]
#contents
*概要 [#xc28fc5d]
-[[EAI/ETL]]系のデータフロー・オーケストレーション・ツー...
-システム間のデータフロー自動化を行うために構築された。
-NSA(アメリカ国家安全保障局)で開発されていたものが、~
2014年にオープンソースソフトウェアとして公開された。
-2015年7月にApacheのTopレベルプロジェクトになった。
**特徴 [#d0903f10]
-もともと、Niagrafilesという名前だった。~
(ナイアガラの滝のようにドーッと降りてくる大量の水を処理...
-ツールの仕様としては、[[ETL>EAI/ETL#eed58b6f]]ツールに近...
-しかし、[[ETL>EAI/ETL#eed58b6f]]は本来、バッチ指向なので...
-[[ビッグデータの3V>ビッグデータ#wecdc89e]]のコンテキスト...
--[[Apache Storm]]代替のエッジ・コンピューティング・ツー...
--「多様性」を重視している(カチッと整形されたデータでは...
**関連PJ [#xf4453e7]
***Registry [#ndc9a784]
フロー定義を「as a code」として管理するサブ・プロジェクト
***[[MiNiFi>#n14fb7eb]] [#zdbf1caa]
小さなフットプリントでデータフローを実行できるサブ・プロ...
***Apache Atlas [#y5836c29]
大量のデータがどこから来てどこに行くのか、コンプライアン...
**設計コンセプト [#q7979995]
***FBP [#nc4ba6c2]
-基本的な設計コンセプトはFlow Based Programming(FBP)と関...
-Flow Based Programming(FBP)の用語とのマッピングは下表の...
|#|NiFi 用語|FBP 用語|Description|h
|1|FlowFile|Information Packet|システム間を移動する各オブ...
|2|Processor|Information Packet|Enterprise Integration Pa...
|3|Connection|Bounded Buffer|Processor間の実接続を示す。&...
|4|Controller|Scheduler|プロセス、スレッドの配置や接続関...
|5|Process Group|subnet|プロセスとConnectionの一群を指し...
***SEDA [#b9a6d249]
-この設計コンセプトはstaged event-driven architecture(SED...
-staged event-driven architecture(SEDA)から様々な設計アイ...
-参考
--SEDA: An Architecture for Well-Conditioned, Scalable In...
http://www.mdw.la/papers/seda-sosp01.pdf
*用語 [#h2fa9150]
**FlowFile [#qf2a86ae]
ユーザデータ
-ユーザが処理および配信のためにもたらすデータ
-[[Content>#l4393b12]]と[[Attributes>#ea87a83b]]からなる。
***Content [#l4393b12]
扱うデータの本体(バイナリ形式)
***Attirbutes [#ea87a83b]
-ユーザーデータに関連付けられたKeyValueのメタ情報。
-以下の、3つの主要な利点がある。
>
+[[Processor>#h3f2273c]]毎に独自のAttirbutesを持つ。~
例えば、PutFile Processorであれば、ディレクトリとファイル...
+起源・出所など、データに関する非常に貴重なcontextを提供...
+属性に基づいてフロー内でFlowFileのルーティングを決定でき...
-共通の属性
|#|属性名|説明|変更可否|h
|1|filename|ファイル名||
|2|path|ディレクトリ名||
|3|fileSize|ファイルのバイト数|不可|
|4|uuid|他のFlowFilesとFlowFileを区別する汎用一意識別子|...
|5|entryDate|FlowFileが作成された日時(UTC)|不可|
|6|lineageStartDate|先祖の連鎖の最古の日時(UTC)|不可|
-属性の設定
--属性を抽出する[[Processor>#h3f2273c]]がある。
---特定のデータフォーマットを理解し、
---FlowFileのコンテンツから適切な情報を抽出し、
---その情報を保持する属性を作成し、
---データのルーティングや処理方法の決定を行う。
--ユーザー定義属性をする[[Processor>#h3f2273c]]がある。
---フロー内の特定の場所にある各FlowFileに~
独自のユーザー定義属性を追加することも一般的。
---これには、UpdateAttribute Processorを使用する。
-属性の利用
--属性を使用した分岐
---NiFiの最も強力な機能の1つに、属性に基づいてFlowFilesを...
---これには、RouteOnAttribute Processorに、Expression Lan...
---Processorは構成によって、一致と不一致の[[Relationship>...
--Expression Language/プロパティ値での利用
---属性値の参照:${ tag and the closing }(${uudi}など)~
次のケースでは、属性名を引用符で囲む必要がある。~
・必要属性名が文字以外の文字で始まる場合~
・または数字、文字、ピリオド、アンダースコア以外の文字が...
---属性に対して多くの機能と比較を実行~
・ファイル名に大小を区別しない「r」が含まれる。:
${filename:toLower():contains('r')}
・属性1と2が一致している。:
${attr1:equals(${attr2})}
--参考
---Apache NiFi Expression Language Guide~
https://nifi.apache.org/docs/nifi-docs/html/expression-la...
**Processor [#h3f2273c]
-データフローを記述したグラフ(DAG)におけるノード(節点...
-「[[FlowFile>#qf2a86ae]]にどんな処理を施すか」を表す、最...
--FlowFilesの作成、送信、受信、変換、ルーティング、分割、...
--組込Processorに加え、カスタムProcessorを開発して組込む...
***詳細:[[Apache NiFi - Processor]] [#b633c1fc]
**Connection [#t66efbdc]
データフローを記述したグラフ(DAG)におけるエッジ(枝・辺...
***Relationship [#ia9fb78a]
-「[[Processor>#h3f2273c]]が行った処理に応じて,どの[[Pro...
-各[[Processor>#h3f2273c]]ごとにあらかじめ定義されている。
--original
--failure
--, etc.
-RouteOnAttribute Processorに、Expression Languageの式を...
--一致
--不一致
***Selected Prioritizers [#nabc6850]
キューから取り出す優先順位は、大方、
-FirstInFirstOutPrioritizer
-OldestFlowFileFirstPrioritizer
などを設定しておけば良いのでは。
*アーキテクチャ [#m5953e27]
ホストOS上のJVM内で実行される。
**図 [#pe526785]
https://nifi.apache.org/docs/nifi-docs/html/images/zero-m...
引用:nifi.apache.org/docs/nifi-docs/html/images/zero-mas...
**主要コンポーネント [#w87e5332]
以下は、JVM上の主なコンポーネント。
***Web Server [#s943128c]
HTTPベースのコマンドと制御APIをホストする。
***Extensions [#f142e88c]
-様々なタイプの拡張がある。
-JVM内で動作して実行される。
***Flow Controller [#m40f0ef5]
操作の頭脳
-[[Extensions>#f142e88c]]の
--スレッド実行
--リソース受け取りのスケジューリング
--[[Processor>#h3f2273c]]間でのコンテキストの共有
---HTTPContext
---データストアとの接続
***[[FlowFile>#qf2a86ae]] Repository [#r97c04bb]
-現在アクティブな[[FlowFile>#qf2a86ae]]の状態を追跡する場...
-リポジトリの実装はプラガブル。
--デフォルトの場所は、...\nifi-n.n.n\flowfile_repository
***Content Repository [#tadfac1a]
-[[FlowFile>#qf2a86ae]]の実際のコンテンツバイトが存在する...
-リポジトリの実装はプラガブル。
--ファイルシステムにデータのブロックを格納する。
--複数のファイルシステム格納場所を指定するできる。
--デフォルトの場所は、...\nifi-n.n.n\content_repository
***Provenance Repository [#hcf419cf]
-すべてのProvenance イベント・データが格納される場所。
-リポジトリの構成はプラガブル。
--デフォルトの構成では、1つ以上の物理ディスク・ボリューム...
--各ロケーション内でイベントデータが索引付けされ、検索可...
**クラスタリング [#b6e82382]
-1.0以降、[[Apache ZooKeeper>#l352f230]]のクラスタ内で動...
-各ノードは、データに対して同じタスクを実行する。
-しかし、それぞれ異なるデータセットで動作する。
***[[ZooKeeper>Apache ZooKeeper]] [#l352f230]
-コーディネータとして単一のノードを選択
-プライマリノードとして単一のノードを選択
***コーディネータ [#l854ca98]
-フェイルオーバーは[[ZooKeeper>#l352f230]]によって自動的...
-すべてのノードは、ハートビートとステータス情報をコーディ...
-コーディネータはノードの切断と接続を行う。
***プライマリノード [#te48634e]
-DataFlowマネージャとして、UIを介してクラスタとやりとりで...
-変更は、クラスタ内のすべてのノードに複製され、複数のエン...
*その他 [#nb94d8be]
**カスタム・プロパティ [#s03bee7c]
-属性の使用に加えて、~
nifi.propertiesファイルのnifi.variable.registry.propertie...
Expression Languageで使用するカスタムプロパティを定義する...
--接続プロパティ
--サーバープロパティ
--およびサービスプロパティ
-データフローの処理と構成の柔軟性が向上する。
**Template [#vc6f9fc4]
-[[Processor>#h3f2273c]]を組み合わせをフローのビルディン...
-作成には、複数のコンポーネントを選択し、Operatorから[Cre...
**監視 [#lfae3033]
***Status Bar [#t40b59d9]
***Component Statistics [#dbe47c1c]
***Bulletins [#t708eba3]
**データの起源・出所 [#j4677a34]
***イベントの詳細 [#mcdf88d8]
***リネージュ・グラフ [#qd5a5cbf]
*ユースケース [#s5d52955]
[[公式文書>http://nifi.apache.org/docs.html]]に、
>SOA、APIベースのシステム結合、IoT、BigData、あとはMicroS...
(These include things like; Service Oriented Architecture...
the rise of the API [api][api2], Internet of Things [iot]...
と書かれている。
**[[EAI/ETL]] [#p3f5a0cf]
ツールの仕様としては、どちらにも適合する可能性がある。
***[[ETL>EAI/ETL#eed58b6f]] [#j2f941ea]
バッチ指向なので適合しない可能性がある(性能検証などが必...
***[[EAI>EAI/ETL#g1a18cd1]] [#g62290e1]
イベント指向なのでこちらのほうが適合し易い。
**WebAPI [#lf41d133]
***簡易WebAPI開発 [#fff464db]
Remote Process GroupでHTTPなどのEndpointを定義してS2Sが可...
***複雑な業務プロセスを開発 [#bc4200e6]
-[[ExecuteScript>Apache NiFi - ExecuteScript Processor]]...
-BRMSと組合せ
**[[ビッグデータ]] [#i205c54a]
***[[Apache Storm]]代替 [#hc55a4d3]
[[CEPも実は単純な事(SEP)しかシていないことが多い。>分散...
**IoT [#b36e1bdf]
***エッジ [#l0c36bd2]
-データマネージメント
-データのエンリッチメント
***デバイス([[MiNiFi>#rd6d949e]]) [#n14fb7eb]
以下での利用が想定されている。
-IoTデバイス
-エッジ・コンピューティング
**その他 [#l743cfa8]
-System Workflow代替
-[[API Gateway]]の変換部分の代替
*step by step的な [#q0c43621]
**[[ファースト・ステップ>Apache NiFiファースト・ステップ]...
**[[セカンド・ステップ>Apache NiFiセカンド・ステップ]] [#...
*参考 [#mae1cf05]
-NiFi.rocks~
http://www.nifi.rocks
-Fun with Apache NiFi~
http://funnifi.blogspot.com
-Apache NiFiのコミッターに聞く~
「OSSコミッター」になる秘訣 | Think IT(シンクイット)~
https://thinkit.co.jp/article/12605
-HortonworksのCTOが語る「Apache NiFi」~
IoT分野で重視される理由 - ZDNet Japan~
https://japan.zdnet.com/article/35070853/
**nifi.apache.org [#o1d28742]
-Apache NiFi~
https://nifi.apache.org
-Apache NiFi Documentation~
https://nifi.apache.org/docs.html
--[[Processors>Apache NiFi - Processor#hbe455a1]]
--Controller Services
--Reporting Tasks
--General
---[[Overview>#labb0a99]]
---[[Getting Started>#labb0a99]]
---[[User Guide>#labb0a99]]
---Expression Language Guide
---RecordPath Guide
---Admin Guide
--Developer
---Rest Api~
https://nifi.apache.org/docs/nifi-docs/rest-api/index.html
>NiFiインスタンスをリアルタイムでコマンドおよび制御するた...
---Developer Guide~
https://nifi.apache.org/developer-guide.html
>Apache NiFi拡張の開発方法を理解し、コンポーネント開発の...
---Apache NiFi In Depth~
https://nifi.apache.org/docs/nifi-docs/html/nifi-in-depth...
>高度なレベルのドキュメント。NiFiの実装と設計に関する決定...
**SlideShare [#mb769bf7]
-Apache NiFi の紹介 #streamctjp~
https://www.slideshare.net/techblogyahoo/apache-nifi-stre...
-Apache NiFiと他プロダクトのつなぎ方~
https://www.slideshare.net/SotaroKimura/apache-nifi
-Kafkaを活用するためのストリーム処理の基本~
https://www.slideshare.net/SotaroKimura/kafka-62558083
***KojiKawamura [#q0e5f63a]
https://www.slideshare.net/KojiKawamura/presentations
-そのデータフロー NiFiで楽にしてあげましょう~
https://www.slideshare.net/KojiKawamura/nifi
-Apache NiFi 1.0 in Nutshell~
https://www.slideshare.net/KojiKawamura/apache-nifi-10-in...
-Kafka含むデータ処理フローを NiFiで構築するさまを実演する...
https://www.slideshare.net/KojiKawamura/kafka-nifi5
-Apache NiFiで、楽して、つながる、広がる IoTプロジェクト~
https://www.slideshare.net/KojiKawamura/apache-nifi-iot
-What will be new in Apache NiFi 1.2.0~
https://www.slideshare.net/KojiKawamura/whats-newnifi120
-Apache NiFi 流れるデータにもスキーマを~
https://www.slideshare.net/KojiKawamura/apache-nifi-78564...
**Qiita [#y8a4da49]
***kimutansk [#c3c57e14]
https://qiita.com/kimutansk
-Apache NiFiのそもそものコンセプトは?~
https://qiita.com/kimutansk/items/59c9dacf01bd342295c3
-ストリーム処理とは何か?+2016年の出来事~
https://qiita.com/kimutansk/items/60e48ec15e954fa95e1c
**GitHub.com [#o742c18d]
***Apache [#re23a3cc]
-apache/nifi~
https://github.com/apache/nifi
***Hortonworks [#i63bd7b0]
-hortonworks-gallery > nifi-templates~
https://github.com/hortonworks-gallery/nifi-templates/tre...
**step by step的な [#ce179366]
***nifi.apache.org [#labb0a99]
-Apache NiFi Overview~
https://nifi.apache.org/docs/nifi-docs/html/overview.html
-Getting Started with Apache NiFi~
https://nifi.apache.org/docs/nifi-docs/html/getting-start...
-Apache NiFi User Guide~
https://nifi.apache.org/docs/nifi-docs/html/user-guide.html
***hortonworks.com [#s9804cd5]
-Hortonworks DataFlow~
https://docs.hortonworks.com/HDPDocuments/HDF3/HDF-3.1.1/...
***ijokarumawak/hdf-tutorials-ja [#y8d62984]
-[[Learning the Ropes of Apache NiFi>https://github.com/i...
--[[チュートリアル 0>https://github.com/ijokarumawak/hdf-...
--[[チュートリアル 1>https://github.com/ijokarumawak/hdf-...
--[[チュートリアル 2>https://github.com/ijokarumawak/hdf-...
--[[チュートリアル 3>https://github.com/ijokarumawak/hdf-...
-HDFハンズオン
--[[HDFハンズオン 0: NiFi, Kafka, Stormを組み合わせて利用...
--[[HDFハンズオン 1: データの取込>https://github.com/ijok...
--[[HDFハンズオン 2: データの変換>https://github.com/ijok...
--[[HDFハンズオン 3: Kafkaへメッセージ登録>https://github...
--[[HDFハンズオン 4: Stormでリアルタイム分析>https://gith...
--[[HDFハンズオン 5: 分析結果を保存>https://github.com/ij...
--[[HDFハンズオン 6: おまけ Zeppelinで可視化>https://gith...
***Qiita [#w19f3f8e]
-kimutansk~
https://qiita.com/kimutansk
--データフローオーケストレーションツールApache NiFiとは?~
https://qiita.com/kimutansk/items/a083fc963fbe31068cf8
--Apache NiFiで基本のデータフローを作成するには?~
https://qiita.com/kimutansk/items/b235fe6cdd0c04ab7e10
-lethe2211~
https://qiita.com/lethe2211
--Apache NiFiについて調べてみた~
https://qiita.com/lethe2211/items/a180373c5c25839bb470
--Apache NiFiのCustom Processorを作ってみた~
https://qiita.com/lethe2211/items/ed2c97070b229fdca447
-Apache NiFiでSQLを投げてみる~
https://qiita.com/grachro/items/2933606bf5c276a87572
**[[MiNiFi]] [#rd6d949e]
**OSSコンソーシアム [#pd9a5490]
***開発基盤部会 Blog [#v296ae13]
-Apache NiFiのファースト・ステップをしてみました。~
https://www.osscons.jp/joq3c6bgf-537/
-Apache NiFiのセカンド・ステップをしてみました。~
https://www.osscons.jp/jodqs94fu-537/
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>分散処理:データ収集・格納系]]([[EAI/ETL]]
--[[Apache Sqoop]]
--[[Fluentd/Embulk]]
--[[Logsatsh, Beats>Elasticsearch#r521f91b]]
--[[Apache Flume]]
--Apache NiFi
--[[Apache Kafka]]
*目次 [#e9d8b189]
#contents
*概要 [#xc28fc5d]
-[[EAI/ETL]]系のデータフロー・オーケストレーション・ツー...
-システム間のデータフロー自動化を行うために構築された。
-NSA(アメリカ国家安全保障局)で開発されていたものが、~
2014年にオープンソースソフトウェアとして公開された。
-2015年7月にApacheのTopレベルプロジェクトになった。
**特徴 [#d0903f10]
-もともと、Niagrafilesという名前だった。~
(ナイアガラの滝のようにドーッと降りてくる大量の水を処理...
-ツールの仕様としては、[[ETL>EAI/ETL#eed58b6f]]ツールに近...
-しかし、[[ETL>EAI/ETL#eed58b6f]]は本来、バッチ指向なので...
-[[ビッグデータの3V>ビッグデータ#wecdc89e]]のコンテキスト...
--[[Apache Storm]]代替のエッジ・コンピューティング・ツー...
--「多様性」を重視している(カチッと整形されたデータでは...
**関連PJ [#xf4453e7]
***Registry [#ndc9a784]
フロー定義を「as a code」として管理するサブ・プロジェクト
***[[MiNiFi>#n14fb7eb]] [#zdbf1caa]
小さなフットプリントでデータフローを実行できるサブ・プロ...
***Apache Atlas [#y5836c29]
大量のデータがどこから来てどこに行くのか、コンプライアン...
**設計コンセプト [#q7979995]
***FBP [#nc4ba6c2]
-基本的な設計コンセプトはFlow Based Programming(FBP)と関...
-Flow Based Programming(FBP)の用語とのマッピングは下表の...
|#|NiFi 用語|FBP 用語|Description|h
|1|FlowFile|Information Packet|システム間を移動する各オブ...
|2|Processor|Information Packet|Enterprise Integration Pa...
|3|Connection|Bounded Buffer|Processor間の実接続を示す。&...
|4|Controller|Scheduler|プロセス、スレッドの配置や接続関...
|5|Process Group|subnet|プロセスとConnectionの一群を指し...
***SEDA [#b9a6d249]
-この設計コンセプトはstaged event-driven architecture(SED...
-staged event-driven architecture(SEDA)から様々な設計アイ...
-参考
--SEDA: An Architecture for Well-Conditioned, Scalable In...
http://www.mdw.la/papers/seda-sosp01.pdf
*用語 [#h2fa9150]
**FlowFile [#qf2a86ae]
ユーザデータ
-ユーザが処理および配信のためにもたらすデータ
-[[Content>#l4393b12]]と[[Attributes>#ea87a83b]]からなる。
***Content [#l4393b12]
扱うデータの本体(バイナリ形式)
***Attirbutes [#ea87a83b]
-ユーザーデータに関連付けられたKeyValueのメタ情報。
-以下の、3つの主要な利点がある。
>
+[[Processor>#h3f2273c]]毎に独自のAttirbutesを持つ。~
例えば、PutFile Processorであれば、ディレクトリとファイル...
+起源・出所など、データに関する非常に貴重なcontextを提供...
+属性に基づいてフロー内でFlowFileのルーティングを決定でき...
-共通の属性
|#|属性名|説明|変更可否|h
|1|filename|ファイル名||
|2|path|ディレクトリ名||
|3|fileSize|ファイルのバイト数|不可|
|4|uuid|他のFlowFilesとFlowFileを区別する汎用一意識別子|...
|5|entryDate|FlowFileが作成された日時(UTC)|不可|
|6|lineageStartDate|先祖の連鎖の最古の日時(UTC)|不可|
-属性の設定
--属性を抽出する[[Processor>#h3f2273c]]がある。
---特定のデータフォーマットを理解し、
---FlowFileのコンテンツから適切な情報を抽出し、
---その情報を保持する属性を作成し、
---データのルーティングや処理方法の決定を行う。
--ユーザー定義属性をする[[Processor>#h3f2273c]]がある。
---フロー内の特定の場所にある各FlowFileに~
独自のユーザー定義属性を追加することも一般的。
---これには、UpdateAttribute Processorを使用する。
-属性の利用
--属性を使用した分岐
---NiFiの最も強力な機能の1つに、属性に基づいてFlowFilesを...
---これには、RouteOnAttribute Processorに、Expression Lan...
---Processorは構成によって、一致と不一致の[[Relationship>...
--Expression Language/プロパティ値での利用
---属性値の参照:${ tag and the closing }(${uudi}など)~
次のケースでは、属性名を引用符で囲む必要がある。~
・必要属性名が文字以外の文字で始まる場合~
・または数字、文字、ピリオド、アンダースコア以外の文字が...
---属性に対して多くの機能と比較を実行~
・ファイル名に大小を区別しない「r」が含まれる。:
${filename:toLower():contains('r')}
・属性1と2が一致している。:
${attr1:equals(${attr2})}
--参考
---Apache NiFi Expression Language Guide~
https://nifi.apache.org/docs/nifi-docs/html/expression-la...
**Processor [#h3f2273c]
-データフローを記述したグラフ(DAG)におけるノード(節点...
-「[[FlowFile>#qf2a86ae]]にどんな処理を施すか」を表す、最...
--FlowFilesの作成、送信、受信、変換、ルーティング、分割、...
--組込Processorに加え、カスタムProcessorを開発して組込む...
***詳細:[[Apache NiFi - Processor]] [#b633c1fc]
**Connection [#t66efbdc]
データフローを記述したグラフ(DAG)におけるエッジ(枝・辺...
***Relationship [#ia9fb78a]
-「[[Processor>#h3f2273c]]が行った処理に応じて,どの[[Pro...
-各[[Processor>#h3f2273c]]ごとにあらかじめ定義されている。
--original
--failure
--, etc.
-RouteOnAttribute Processorに、Expression Languageの式を...
--一致
--不一致
***Selected Prioritizers [#nabc6850]
キューから取り出す優先順位は、大方、
-FirstInFirstOutPrioritizer
-OldestFlowFileFirstPrioritizer
などを設定しておけば良いのでは。
*アーキテクチャ [#m5953e27]
ホストOS上のJVM内で実行される。
**図 [#pe526785]
https://nifi.apache.org/docs/nifi-docs/html/images/zero-m...
引用:nifi.apache.org/docs/nifi-docs/html/images/zero-mas...
**主要コンポーネント [#w87e5332]
以下は、JVM上の主なコンポーネント。
***Web Server [#s943128c]
HTTPベースのコマンドと制御APIをホストする。
***Extensions [#f142e88c]
-様々なタイプの拡張がある。
-JVM内で動作して実行される。
***Flow Controller [#m40f0ef5]
操作の頭脳
-[[Extensions>#f142e88c]]の
--スレッド実行
--リソース受け取りのスケジューリング
--[[Processor>#h3f2273c]]間でのコンテキストの共有
---HTTPContext
---データストアとの接続
***[[FlowFile>#qf2a86ae]] Repository [#r97c04bb]
-現在アクティブな[[FlowFile>#qf2a86ae]]の状態を追跡する場...
-リポジトリの実装はプラガブル。
--デフォルトの場所は、...\nifi-n.n.n\flowfile_repository
***Content Repository [#tadfac1a]
-[[FlowFile>#qf2a86ae]]の実際のコンテンツバイトが存在する...
-リポジトリの実装はプラガブル。
--ファイルシステムにデータのブロックを格納する。
--複数のファイルシステム格納場所を指定するできる。
--デフォルトの場所は、...\nifi-n.n.n\content_repository
***Provenance Repository [#hcf419cf]
-すべてのProvenance イベント・データが格納される場所。
-リポジトリの構成はプラガブル。
--デフォルトの構成では、1つ以上の物理ディスク・ボリューム...
--各ロケーション内でイベントデータが索引付けされ、検索可...
**クラスタリング [#b6e82382]
-1.0以降、[[Apache ZooKeeper>#l352f230]]のクラスタ内で動...
-各ノードは、データに対して同じタスクを実行する。
-しかし、それぞれ異なるデータセットで動作する。
***[[ZooKeeper>Apache ZooKeeper]] [#l352f230]
-コーディネータとして単一のノードを選択
-プライマリノードとして単一のノードを選択
***コーディネータ [#l854ca98]
-フェイルオーバーは[[ZooKeeper>#l352f230]]によって自動的...
-すべてのノードは、ハートビートとステータス情報をコーディ...
-コーディネータはノードの切断と接続を行う。
***プライマリノード [#te48634e]
-DataFlowマネージャとして、UIを介してクラスタとやりとりで...
-変更は、クラスタ内のすべてのノードに複製され、複数のエン...
*その他 [#nb94d8be]
**カスタム・プロパティ [#s03bee7c]
-属性の使用に加えて、~
nifi.propertiesファイルのnifi.variable.registry.propertie...
Expression Languageで使用するカスタムプロパティを定義する...
--接続プロパティ
--サーバープロパティ
--およびサービスプロパティ
-データフローの処理と構成の柔軟性が向上する。
**Template [#vc6f9fc4]
-[[Processor>#h3f2273c]]を組み合わせをフローのビルディン...
-作成には、複数のコンポーネントを選択し、Operatorから[Cre...
**監視 [#lfae3033]
***Status Bar [#t40b59d9]
***Component Statistics [#dbe47c1c]
***Bulletins [#t708eba3]
**データの起源・出所 [#j4677a34]
***イベントの詳細 [#mcdf88d8]
***リネージュ・グラフ [#qd5a5cbf]
*ユースケース [#s5d52955]
[[公式文書>http://nifi.apache.org/docs.html]]に、
>SOA、APIベースのシステム結合、IoT、BigData、あとはMicroS...
(These include things like; Service Oriented Architecture...
the rise of the API [api][api2], Internet of Things [iot]...
と書かれている。
**[[EAI/ETL]] [#p3f5a0cf]
ツールの仕様としては、どちらにも適合する可能性がある。
***[[ETL>EAI/ETL#eed58b6f]] [#j2f941ea]
バッチ指向なので適合しない可能性がある(性能検証などが必...
***[[EAI>EAI/ETL#g1a18cd1]] [#g62290e1]
イベント指向なのでこちらのほうが適合し易い。
**WebAPI [#lf41d133]
***簡易WebAPI開発 [#fff464db]
Remote Process GroupでHTTPなどのEndpointを定義してS2Sが可...
***複雑な業務プロセスを開発 [#bc4200e6]
-[[ExecuteScript>Apache NiFi - ExecuteScript Processor]]...
-BRMSと組合せ
**[[ビッグデータ]] [#i205c54a]
***[[Apache Storm]]代替 [#hc55a4d3]
[[CEPも実は単純な事(SEP)しかシていないことが多い。>分散...
**IoT [#b36e1bdf]
***エッジ [#l0c36bd2]
-データマネージメント
-データのエンリッチメント
***デバイス([[MiNiFi>#rd6d949e]]) [#n14fb7eb]
以下での利用が想定されている。
-IoTデバイス
-エッジ・コンピューティング
**その他 [#l743cfa8]
-System Workflow代替
-[[API Gateway]]の変換部分の代替
*step by step的な [#q0c43621]
**[[ファースト・ステップ>Apache NiFiファースト・ステップ]...
**[[セカンド・ステップ>Apache NiFiセカンド・ステップ]] [#...
*参考 [#mae1cf05]
-NiFi.rocks~
http://www.nifi.rocks
-Fun with Apache NiFi~
http://funnifi.blogspot.com
-Apache NiFiのコミッターに聞く~
「OSSコミッター」になる秘訣 | Think IT(シンクイット)~
https://thinkit.co.jp/article/12605
-HortonworksのCTOが語る「Apache NiFi」~
IoT分野で重視される理由 - ZDNet Japan~
https://japan.zdnet.com/article/35070853/
**nifi.apache.org [#o1d28742]
-Apache NiFi~
https://nifi.apache.org
-Apache NiFi Documentation~
https://nifi.apache.org/docs.html
--[[Processors>Apache NiFi - Processor#hbe455a1]]
--Controller Services
--Reporting Tasks
--General
---[[Overview>#labb0a99]]
---[[Getting Started>#labb0a99]]
---[[User Guide>#labb0a99]]
---Expression Language Guide
---RecordPath Guide
---Admin Guide
--Developer
---Rest Api~
https://nifi.apache.org/docs/nifi-docs/rest-api/index.html
>NiFiインスタンスをリアルタイムでコマンドおよび制御するた...
---Developer Guide~
https://nifi.apache.org/developer-guide.html
>Apache NiFi拡張の開発方法を理解し、コンポーネント開発の...
---Apache NiFi In Depth~
https://nifi.apache.org/docs/nifi-docs/html/nifi-in-depth...
>高度なレベルのドキュメント。NiFiの実装と設計に関する決定...
**SlideShare [#mb769bf7]
-Apache NiFi の紹介 #streamctjp~
https://www.slideshare.net/techblogyahoo/apache-nifi-stre...
-Apache NiFiと他プロダクトのつなぎ方~
https://www.slideshare.net/SotaroKimura/apache-nifi
-Kafkaを活用するためのストリーム処理の基本~
https://www.slideshare.net/SotaroKimura/kafka-62558083
***KojiKawamura [#q0e5f63a]
https://www.slideshare.net/KojiKawamura/presentations
-そのデータフロー NiFiで楽にしてあげましょう~
https://www.slideshare.net/KojiKawamura/nifi
-Apache NiFi 1.0 in Nutshell~
https://www.slideshare.net/KojiKawamura/apache-nifi-10-in...
-Kafka含むデータ処理フローを NiFiで構築するさまを実演する...
https://www.slideshare.net/KojiKawamura/kafka-nifi5
-Apache NiFiで、楽して、つながる、広がる IoTプロジェクト~
https://www.slideshare.net/KojiKawamura/apache-nifi-iot
-What will be new in Apache NiFi 1.2.0~
https://www.slideshare.net/KojiKawamura/whats-newnifi120
-Apache NiFi 流れるデータにもスキーマを~
https://www.slideshare.net/KojiKawamura/apache-nifi-78564...
**Qiita [#y8a4da49]
***kimutansk [#c3c57e14]
https://qiita.com/kimutansk
-Apache NiFiのそもそものコンセプトは?~
https://qiita.com/kimutansk/items/59c9dacf01bd342295c3
-ストリーム処理とは何か?+2016年の出来事~
https://qiita.com/kimutansk/items/60e48ec15e954fa95e1c
**GitHub.com [#o742c18d]
***Apache [#re23a3cc]
-apache/nifi~
https://github.com/apache/nifi
***Hortonworks [#i63bd7b0]
-hortonworks-gallery > nifi-templates~
https://github.com/hortonworks-gallery/nifi-templates/tre...
**step by step的な [#ce179366]
***nifi.apache.org [#labb0a99]
-Apache NiFi Overview~
https://nifi.apache.org/docs/nifi-docs/html/overview.html
-Getting Started with Apache NiFi~
https://nifi.apache.org/docs/nifi-docs/html/getting-start...
-Apache NiFi User Guide~
https://nifi.apache.org/docs/nifi-docs/html/user-guide.html
***hortonworks.com [#s9804cd5]
-Hortonworks DataFlow~
https://docs.hortonworks.com/HDPDocuments/HDF3/HDF-3.1.1/...
***ijokarumawak/hdf-tutorials-ja [#y8d62984]
-[[Learning the Ropes of Apache NiFi>https://github.com/i...
--[[チュートリアル 0>https://github.com/ijokarumawak/hdf-...
--[[チュートリアル 1>https://github.com/ijokarumawak/hdf-...
--[[チュートリアル 2>https://github.com/ijokarumawak/hdf-...
--[[チュートリアル 3>https://github.com/ijokarumawak/hdf-...
-HDFハンズオン
--[[HDFハンズオン 0: NiFi, Kafka, Stormを組み合わせて利用...
--[[HDFハンズオン 1: データの取込>https://github.com/ijok...
--[[HDFハンズオン 2: データの変換>https://github.com/ijok...
--[[HDFハンズオン 3: Kafkaへメッセージ登録>https://github...
--[[HDFハンズオン 4: Stormでリアルタイム分析>https://gith...
--[[HDFハンズオン 5: 分析結果を保存>https://github.com/ij...
--[[HDFハンズオン 6: おまけ Zeppelinで可視化>https://gith...
***Qiita [#w19f3f8e]
-kimutansk~
https://qiita.com/kimutansk
--データフローオーケストレーションツールApache NiFiとは?~
https://qiita.com/kimutansk/items/a083fc963fbe31068cf8
--Apache NiFiで基本のデータフローを作成するには?~
https://qiita.com/kimutansk/items/b235fe6cdd0c04ab7e10
-lethe2211~
https://qiita.com/lethe2211
--Apache NiFiについて調べてみた~
https://qiita.com/lethe2211/items/a180373c5c25839bb470
--Apache NiFiのCustom Processorを作ってみた~
https://qiita.com/lethe2211/items/ed2c97070b229fdca447
-Apache NiFiでSQLを投げてみる~
https://qiita.com/grachro/items/2933606bf5c276a87572
**[[MiNiFi]] [#rd6d949e]
**OSSコンソーシアム [#pd9a5490]
***開発基盤部会 Blog [#v296ae13]
-Apache NiFiのファースト・ステップをしてみました。~
https://www.osscons.jp/joq3c6bgf-537/
-Apache NiFiのセカンド・ステップをしてみました。~
https://www.osscons.jp/jodqs94fu-537/
ページ名: