Skip to content

DNET_ApacheNiFiProcessor

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Apache NiFi - Processor

概要

  • 「Processorを極めれば、NiFiを極められそう。」と言う事で、Processorのまとめを作成してみた。
  • 色々なProcessorが用意されており、様々なシステムのデータを処理する機能を提供する。

Processorのタイプ

以下は、Processorのタイプ。
具体的なProcessorは下記「参考」のURLを参照。

データの取込

Data Ingestion

接続

変換・処理

  • Attribute Extraction(属性の抽出・付与)(Apache NiFiの該当節を参照)
  • Data Transformation(フォーマットの変換)

データの配信

Data Egress / Sending Data

取込・配信

  • System Interaction(OSコマンドの実行)
  • Database Access(SQLの実行)
  • HTTP(HTTSクライアント or サーバの実行)
  • Amazon Web Services(サービスへのI/Oの実行)

Processorの共通設定

Name

Processorの名称

Terminate

  • 処理(フロー)を止めるケースを設定する。
  • 後続に対応するRelationship(Apache NiFiの該当節を参照) の Connection(Apache NiFiの該当節を参照)が無い場合チェックが必要

詳細

詳しい使い方については、チュートリアル(Apache NiFiの該当節を参照)も参考にできる。

頻繁に使う。

以下は頻繁に使う。

ファイルI/O

  • GetFile
  • PutFile
  • FetchFile
  • ListFile

ログ出力

属性

  • 抽出

    • EvaluateXPath
    • EvaluateJsonPath
    • EvaluateXQuery
    • ExtractText
  • 更新

    • UpdateAttribute
  • 設定

    • AttributesToJSON
    • AttributesToCSV

※ 属性は、分岐やNiFi Expression Language(EL)で使用可能。

合流

分岐・分割後の合流時のmergeに使用できる。

  • MergeContent
    • MergeRecord

よく使う。

分岐

  • RouteText

  • RouteOnAttribute

  • RouteOnContent

  • ScanAttribute

    • ScanContent

分割

  • SplitText
  • SplitContent
  • SplitXML
  • SplitJson
  • SplitRecord

HTTP

RDBMS

しばしば使う。

ControlRate

速度の調整。

Text

  • CountText
    • ReplaceText
      • ReplaceTextWithMapping
        • ConvertCharacterSet

CSV

  • ConvertExcelToCSVProcessor
    • ValidateCsv

XML, JSON

  • ValidateXml

    • TransformXml
  • FlattenJson

    • JoltTransformJSON

圧縮・解凍

  • CompressContent
  • UnpackContent
  • EncryptContent
  • Base64EncodeContent

Record

RecordReader、RecordWriter

  • PutDatabaseRecord

  • QueryRecord

    • LookupRecord
      • ValidateRecord
        • UpdateRecord
          • ConvertRecord
  • PartitionRecord

    • ForkRecord
      • CalculateRecordStats
  • PutDruidRecord

    • PutSolrRecord

Script

Test

負荷テスト、構成、およびシミュレーション

  • GenerateFlowFile
    • DuplicateFlowFile

稀に使う。

Command

  • Command ExecuteProcess

Debug

  • DebugFlow 必要な応答を強制する

機能別

Network Protocol

  • 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

  • Syslog

    • PutSyslog
    • ListenSyslog
    • ParseSyslog
  • ListenRELP

    • ConsumeWindowsEventLog

HTML

Middleware or Service

  • Middleware

    • JMS

      • GetJMSQueue
      • GetJMSTopic
      • PutJMS
      • PublishJMS
      • ConsumeJMS
    • MapCache

      • FetchDistributedMapCache
      • PutDistributedMapCache
  • Service

    • Slack

      • PutSlack
    • Twitter

      • GetTwitter

ビッグデータ

NoSQL

Hadoop

クラウド

Azure

  • EventHub

    • GetAzureEventHub
    • PutAzureEventHub
    • ConsumeAzureEventHub
  • QueueStorage

    • GetAzureQueueStorage
    • PutAzureQueueStorage
  • BlobStorage

    • PutAzureBlobStorage
    • ListAzureBlobStorage
    • FetchAzureBlobStorage
    • DeleteAzureBlobStorage

AWS

  • S3

    • ListS3
    • FetchS3Object
    • PutS3Object
    • DeleteS3Object
  • DynamoDB

    • GetDynamoDB
    • PutDynamoDB
    • DeleteDynamoDB
  • SQS

    • GetSQS
    • PutSQS
    • DeleteSQS
  • Kinesis

    • PutKinesisFirehose
    • PutKinesisStream
  • PutSNS

  • PutLambda

    • InvokeAWSGatewayApi
      • PutCloudWatchMetric

GCP

  • GCPubSub

    • PublishGCPubSub
    • ConsumeGCPubSub
  • GCS

    • ListGCSBucket
    • FetchGCSObject
    • PutGCSObject
    • DeleteGCSObject

未分類

  • 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

  • ExecuteFlumeSink
    • ExecuteFlumeSource
      • ExecuteSparkInteractive
        • ExecuteStreamCommand

Extract

  • ExtractCCDAAttributes
    • ExtractGrok
      • ExtractHL7Attributes
        • ExtractImageMetadata
          • ExtractMediaMetadata
            • ExtractTNEFAttachments

Get & Put

  • PutParquet
    • PutRiemann

参考

nifi.apache.org

gist.github.com

添付ファイル

移行メモ

  • 元 Wiki では見出しそのものが他ページ・同ページ内へのリンクになっていた箇所 (「RDBMS」「ExecuteScript」「ビッグデータ」「NoSQL」「Hadoop」)は、 GitHub Wiki では見出しからアンカが生成されるため、 見出しをプレーン・テキストとし、リンクは直下の本文に置いた。
  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名 の該当節を参照)」の形に置き換えた。
  • 元 Wiki の行末の ~(改行)は、箇条書き項目の末尾では意味を持たないため落とした。
  • 本文からは参照されていないが、元ページに添付されていた SQLFromJSON.xml を「添付ファイル」として配置した。
  • リンク先が未移行のページは、移行先のファイル名を `DNET_○○.md` の形で示し TODO.md に登録した。

Tags: 移行, Apache NiFi, Processor, データフロー, FlowFile, 属性, RecordReader, ExecuteScript

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally