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]

Community Articles

Find and share helpful community-sourced technical articles.
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!
Labels (1)
avatar
Master Guru

Python Word Cloud

Integrating existing Python libraries and scripts is very easy in Apache NiFi. I add the library for both version of Python I have on my system, while moving all new scripts to the 3.x branch.

Install the library for both Python 2.7 and 3.5

pip install wordcloud 
pip3 install wordcloud 

Example Usage

echo "NiFi\nHadoop\nSpark\n" | wordcloud_cli.py --imagefile wordcloud.png

For use in NiFi, I wrap my call with a shell script wc.sh

echo $1 | tr " " "\n" | wordcloud_cli.py 

This will build a PNG for me that I can store in a file system or in HDFS, I updated the filename to add png at the end. This will take a parameter to a shell script (our Tweet) and convert it into words usable for a word cloud. You can use other sources or other methods of splitting words.

23447-wordcloud-flow.png

I am pulling twitter messages, so I use ReplaceText to replace the flow file with ${msg} which is just the tweet.

Then I execute the Python WordCloud CLI:

23448-wordcloud-execute.png

Example

23449-509862833136841json.png

References:

1,801 Views