This connector provides a Source and Sink that can read from and write to
Apache NiFi. To use this connector, add the
following dependency to your project:
Note that the streaming connectors are currently not part of the binary
distribution. See
here
for information about how to package the program with the libraries for
cluster execution.
Installing Apache NiFi
Instructions for setting up a Apache NiFi cluster can be found
here.
Apache NiFi Source
The connector provides a Source for reading data from Apache NiFi to Apache Flink.
The class NiFiSource(…) provides 2 constructors for reading data from NiFi.
NiFiSource(SiteToSiteConfig config) - Constructs a NiFiSource(…) given the client’s SiteToSiteConfig and a
default wait time of 1000 ms.
NiFiSource(SiteToSiteConfig config, long waitTimeMs) - Constructs a NiFiSource(…) given the client’s
SiteToSiteConfig and the specified wait time (in milliseconds).
Example:
Here data is read from the Apache NiFi Output Port called “Data for Flink” which is part of Apache NiFi
Site-to-site protocol configuration.
Apache NiFi Sink
The connector provides a Sink for writing data from Apache Flink to Apache NiFi.
The class NiFiSink(…) provides a constructor for instantiating a NiFiSink.
NiFiSink(SiteToSiteClientConfig, NiFiDataPacketBuilder<T>) constructs a NiFiSink(…) given the client’s SiteToSiteConfig and a NiFiDataPacketBuilder that converts data from Flink to NiFiDataPacket to be ingested by NiFi.
Example:
More information about Apache NiFi Site-to-Site Protocol can be found here