Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]

Support Questions

Find answers, ask questions, and share your expertise
Announcements
Share your experience with Cloudera on G2 and get a $25 Amazon Gift card.
Hi, I'm CLEO! Something exciting is coming to the Community. Stay Tuned!

Fetch Vs Get vs List processors in NiFi

avatar
Explorer

Hi,

Pretty new to NiFi and trying to understand the difference between Fetch,Get and List processors.

List - As I understand, creates flow files with only metadata and not the data. This information can be further passed to downstream to read the file contents.

I am pretty confused about Get/Fetch and which one to be used under what situation.

1 ACCEPTED SOLUTION

avatar
Contributor

Hello @Teej 

 

The short answer is that FetchX (FetchFTP for example) is Nifi cluster friendly, while GetX processors are not.

 

There is a common pattern ("List-Fetch") of using a single node to ListX then pass that List to all nodes in the cluster to do parallelized FetchX - the Fetch will be aware that there are multiple nodes and only Fetch each file once. 

 

If you have a NiFi cluster and you are using the GetSFTP processor, you would have to configure that processor to run on the primary node only so the other nodes in the cluster wouldn't try to pull the same files. 

 

You can read more about it here.

View solution in original post

1 REPLY 1

avatar
Contributor

Hello @Teej 

 

The short answer is that FetchX (FetchFTP for example) is Nifi cluster friendly, while GetX processors are not.

 

There is a common pattern ("List-Fetch") of using a single node to ListX then pass that List to all nodes in the cluster to do parallelized FetchX - the Fetch will be aware that there are multiple nodes and only Fetch each file once. 

 

If you have a NiFi cluster and you are using the GetSFTP processor, you would have to configure that processor to run on the primary node only so the other nodes in the cluster wouldn't try to pull the same files. 

 

You can read more about it here.