「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Apache NiFi]] *目次 [#va4332ed] #contents *概要 [#ia627544] -「Processorを極めれば、NiFiを極められそう。」と言う事で、NiFiのProcessorのまとめを作成してみた。 -「Processorを極めれば、NiFiを極められそう。」と言う事で、Processorのまとめを作成してみた。 -色々なProcessorが用意されており、様々なシステムのデータを処理する機能を提供する。 **Processorのタイプ [#qce2abb5] 以下は、Processorのタイプ。~ 具体的なProcessorは下記「参考」のURLを参照。 ***データの取込 [#ladf2b5f] Data Ingestion ***接続 [#n3b2664e] -[[分岐>#nc3d874a]] -[[分割>#jd97218b]] -[[合流>#f1c5ef38]] -[[速度調整>#o308cda8]] ***変換・処理 [#u6d85bf7] -[[Attribute Extraction(属性の抽出・付与)>Apache NiFi#ea87a83b]] -Data Transformation(フォーマットの変換) ***データの配信 [#if7e91d7] Data Egress / Sending Data ***取込・配信 [#x1411910] -System Interaction(OSコマンドの実行) -Database Access(SQLの実行) -HTTP(HTTSクライアント or サーバの実行) -Amazon Web Services(サービスへのI/Oの実行) **Processorの共通設定 [#nfcd0a3b] ***Name [#wba5f06c] Processorの名称 ***Terminate [#sca7024d] -処理(フロー)を止めるケースを設定する。 -後続に対応する[[Relationship>Apache NiFi#ia9fb78a]] の [[Connection>Apache NiFi#t66efbdc]]が無い場合チェックが必要 *詳細 [#qe320dce] 詳しい使い方については、[[チュートリアル>Apache NiFi#q0c43621]]も参考にできる。 **頻繁に使う。 [#ed54fea7] 以下は頻繁に使う。 ***ファイルI/O [#k1a9f894] -GetFile -PutFile -FetchFile -ListFile~ ***ログ出力 [#g9522ed5] -LogAttribute -LogMessage -参考 --In Apache Ni-fi, how can I log all the flowFile 'attributes' in a text file - Hortonworks~ https://community.hortonworks.com/questions/63071/in-apache-ni-fi-how-can-i-log-all-the-flowfile-att.html ***属性 [#y117d799] -抽出 --EvaluateXPath --EvaluateJsonPath --EvaluateXQuery --ExtractText -更新 --UpdateAttribute -設定 --AttributesToJSON --AttributesToCSV ※ 属性は、[[分岐>#nc3d874a]]やNiFi Expression Language(EL)で使用可能。 -参考 --ExtractText from file content and put it as file attributes - Hortonworks~ https://community.hortonworks.com/questions/96907/extracttext-from-file-content-and-put-it-as-file-a.html ***合流 [#f1c5ef38] 分岐・分割後の合流時のmergeに使用できる。 -MergeContent~ -MergeRecord~ **よく使う。 [#r1cc62d3] ***分岐 [#nc3d874a] -RouteText -RouteOnAttribute -RouteOnContent -ScanAttribute~ -ScanContent~ ***分割 [#jd97218b] -SplitText -SplitContent -SplitXML -SplitJson -SplitRecord ***HTTP [#f682ee78] -クライアント --InvokeHTTP --GetHTTP --PostHTTP -サーバー --HandleHttpRequest --HandleHttpResponse --ListenHTTP~ -参考 --How to Fetch the data from an HTTPS URL in GetHTTP processor using Syncfusion Data Integration Platform | Big Data Platform | Syncfusion~ https://www.syncfusion.com/kb/7677/how-to-fetch-the-data-from-an-https-url-in-gethttp-processor-using-syncfusion-data-integration ***[[RDBMS>Apache NiFi - RDBMS系のProcessor]] [#jb0920d0] **しばしば使う。 [#m3712b0f] ***ControlRate [#o308cda8] 速度の調整。 ***Text [#nbc95af3] -CountText~ -ReplaceText~ -ReplaceTextWithMapping~ -ConvertCharacterSet~ ***CSV [#w4a00ef6] -ConvertExcelToCSVProcessor~ -ValidateCsv~ ***XML, JSON [#u96347f7] -ValidateXml~ -TransformXml -FlattenJson~ -JoltTransformJSON~ ***圧縮・解凍 [#ccc0ae4e] -CompressContent -UnpackContent -EncryptContent -Base64EncodeContent ***Record [#t4dc08ae] RecordReader、RecordWriter -PutDatabaseRecord~ -QueryRecord~ -LookupRecord~ -ValidateRecord~ -UpdateRecord~ -ConvertRecord~ -PartitionRecord~ -ForkRecord~ -CalculateRecordStats~ -PutDruidRecord~ -PutSolrRecord~ ***Script [#f86d7f92] -[[ExecuteScript>Apache NiFi - ExecuteScript Processor]] -ExecuteGroovyScript -InvokeScriptedProcessor ***Test [#j37928b4] 負荷テスト、構成、およびシミュレーション -GenerateFlowFile~ -DuplicateFlowFile~ **稀に使う。 [#y97566e8] ***Command [#jd61fd16] -Command~ ExecuteProcess ***Debug [#v6c71be1] -DebugFlow~ 必要な応答を強制する **機能別 [#gbae4e1d] ***Network Protocol [#c508ca3f] -TCP --GetTCP~ --PutTCP~ --ListenTCP~ --ListenTCPRecord~ -UDP --PutUDP~ --ListenUDP~ --ListenUDPRecord~ -FTP --GetFTP~ --ListFTP~ --FetchFTP~ --PutFTP~ --GetSFTP~ --ListSFTP~ --FetchSFTP~ --PutSFTP~ -Mail --PutEmail~ --ListenSMTP~ --ConsumeIMAP~ --ConsumePOP3~ --ExtractEmailAttachments~ --ExtractEmailHeaders~ -MQTT, AMQP --MQTT ---PublishMQTT~ ---ConsumeMQTT~ --AMQP ---PublishAMQP~ ---ConsumeAMQP~ -SNMP --GetSNMP~ --SetSNMP~ -DNS --QueryDNS~ --QueryWhois~ -WebSocket --PutWebSocket~ --ConnectWebSocket~ --ListenWebSocket~ ***Log [#y9e1971c] -Syslog --PutSyslog~ --ListenSyslog~ --ParseSyslog~ -ListenRELP~ -ConsumeWindowsEventLog~ ***HTML [#r83958f7] -GetHTMLElement~ -ModifyHTMLElement~ -PutHTMLElement~ -参考 --How to use GetHTMLElement - Hortonworks~ https://community.hortonworks.com/questions/68060/how-to-use-gethtmlelement.html ***Middleware or Service [#x057a74e] -Middleware --JMS ---GetJMSQueue~ ---GetJMSTopic~ ---PutJMS~ ---PublishJMS~ ---ConsumeJMS~ --MapCache ---FetchDistributedMapCache~ ---PutDistributedMapCache~ -Service --Slack ---PutSlack~ --Twitter ---GetTwitter~ **[[ビッグデータ>Apache NiFi - ビッグデータ系のProcessor]] [#ob074eb8] ***[[NoSQL>Apache NiFi - ビッグデータ系のProcessor#kaaeb312]] [#cce4fd48] ***[[Hadoop>Apache NiFi - ビッグデータ系のProcessor#g61892c1]] [#pf193fac] **クラウド [#ca8d5fe0] ***Azure [#z66d5a50] -EventHub --GetAzureEventHub~ --PutAzureEventHub~ --ConsumeAzureEventHub~ -QueueStorage --GetAzureQueueStorage~ --PutAzureQueueStorage~ -BlobStorage --PutAzureBlobStorage~ --ListAzureBlobStorage~ --FetchAzureBlobStorage~ --DeleteAzureBlobStorage~ ***AWS [#zc93e5fa] -S3 --ListS3~ --FetchS3Object~ --PutS3Object~ --DeleteS3Object~ -DynamoDB --GetDynamoDB~ --PutDynamoDB~ --DeleteDynamoDB~ -SQS --GetSQS~ --PutSQS~ --DeleteSQS~ -Kinesis --PutKinesisFirehose~ --PutKinesisStream~ -PutSNS -PutLambda~ -InvokeAWSGatewayApi~ -PutCloudWatchMetric~ ***GCP [#pac99342] -GCPubSub --PublishGCPubSub~ --ConsumeGCPubSub~ -GCS --ListGCSBucket~ --FetchGCSObject~ --PutGCSObject~ --DeleteGCSObject~ **未分類 [#c71a55c5] -AttributeRollingWindow~ -CompareFuzzyHash~ -ConsumeEWS~ -DetectDuplicate~ -DistributeLoad~ -EnforceOrder~ -FetchParquet~ -FuzzyHashContent~ -GenerateTableFetch~ -GeoEnrichIP~ -HashAttribute~ -HashContent~ -IdentifyMimeType~ -ISPEnrichIP~ -ListenBeats~ -ListenLumberjack~ -LookupAttribute~ -ModifyBytes~ -MonitorActivity~ -Notify~ -ParseCEF~ -ParseEvtx~ -ResizeImage~ -RouteHL7~ -SegmentContent~ -SpringContextProcessor~ -StoreInKiteDataset~ -TailFile~ -UpdateCounter~ -Wait~ -YandexTranslate~ ***Execute [#xfc8baa5] -ExecuteFlumeSink~ -ExecuteFlumeSource~ -ExecuteSparkInteractive~ -ExecuteStreamCommand~ ***Extract [#bea81238] -ExtractCCDAAttributes~ -ExtractGrok~ -ExtractHL7Attributes~ -ExtractImageMetadata~ -ExtractMediaMetadata~ -ExtractTNEFAttachments~ ***Get & Put [#d2883a84] -PutParquet~ -PutRiemann~ *参考 [#hbe455a1] **nifi.apache.org [#h59b4131] -Apache NiFi Documentation~ https://nifi.apache.org/docs.html -Getting Started with Apache NiFi > What Processors are Available~ https://nifi.apache.org/docs/nifi-docs/html/getting-started.html#what-processors-are-available **gist.github.com [#df17e5d5] -ijokarumawak’s gists~ https://gist.github.com/ijokarumawak -alopresto’s gists~ https://gist.github.com/alopresto