Thursday, 12 May, 2016
These instructions are available at the GitHub Repository.
Note: Feel free to open an issue on the GitHub repository with any questions or points that may be unclear!
The accompanying slides from the workshop can be found at: http://www.slideshare.net/aldrinpiri/apachecon-2016-mission-to-nars-with-apache-nifi
Due to possible network congestion, the following items will help us ensure we can maximize our time during the workshop.
- tar.gz file - https://www.apache.org/dyn/closer.lua?path=/nifi/0.6.1/nifi-0.6.1-bin.tar.gz
- .zip file - https://www.apache.org/dyn/closer.lua?path=/nifi/0.6.1/nifi-0.6.1-bin.zip
Creating custom components in NiFi requires only two dependencies, Java JDK and Maven. We will additionally require Git to make use of a sample repository.
-
Java SDK (Version 7+ required)
-
Do I need it?
Execute
javac -version
. If an error message about the command not being found or the response showsjavac 1.X.Y_ZZ
has X being less than 7, then JDK version 7 or later must be installed. -
Install
Available for download via: http://www.oracle.com/technetwork/java/javase/overview/index.html
Linux: OpenJDK versions 7+ are also supported and available
-
-
Maven (requires version 3.1.0+)
-
Do I need it?
Execute
mvn -version
. If an error message about the command not being found or the response showsApache Maven 3.X.Y
has X being less than 1, then Maven 3.1.0 or later must be installed. -
Install
Available via http://maven.apache.org/download.cgi
Also available via homebrew for OS X and various Linux package management systems
-
-
Git
-
Do I need it?
Execute
git --version
. If an error message about the command not being found then git must be installed. -
Install
-
Windows
Executable client: https://git-scm.com/download/linux
-
OS X
A version is bundled with the Mac by default. A newer version is available via the homebrew ecosystem: http://brew.sh/
-
Linux
- Aptitude based systems (Debian, Ubuntu):
apt-get install git
- Yum based systems (RHEL, CentOS, Fedora):
yum install git
- Other distributions: https://git-scm.com/download/linux
- Aptitude based systems (Debian, Ubuntu):
-
-
- Check out the sample repository
git clone https://github.com/apiri/nifi-mission-to-nars-workshop.git
- Change directory to the checked out source
cd nifi-mission-to-nars-workshop/nars-workshop
- Perform a Maven build to cache all Maven artifacts
mvn clean install
The following are some references we will make use of throughout the course of the presentation.
- CollabEdit Document: http://collabedit.com/4k8fe
- Workshop GitHub Repository: https://github.com/apiri/nifi-mission-to-nars-workshop
- RandomUser.me: https://randomuser.me/
- Sample Query (50 Results in CSV Format): http://api.randomuser.me/?results=50&fmt=csv
We only need the repository checked out above, but in the case someone wishes to start from nothing, it is possible to generate the project structure above leveraging Maven Archetypes.
Making use of the Apache NiFi Maven Archetypes
Create using
mvn archetype:generate
-DarchetypeGroupId=org.apache.nifi
-DarchetypeArtifactId=nifi-processor-bundle-archetype
-DarchetypeVersion=0.6.1
-DnifiVersion=0.6.1
Create using
mvn archetype:generate
-DarchetypeGroupId=org.apache.nifi
-DarchetypeArtifactId=nifi-service-bundle-archetype
-DarchetypeVersion=0.6.1
-DnifiVersion=0.6.1