...
Eclipse is an open source development community. If you have not already done so, download and install Eclipse on your development machine. For more information, see Eclipse and Eclipse IDE for Java Developers.
Download and Install the Eclipse Plugins
For Pig, you need the JavaCC plugin and theSubclipse Subversion plugin.
To download and install the plugins:
- Open Eclipse
- Select Help > Software Updates... > Available Software
- Add the two plugin sites by pressing Add Site... Button
- http://eclipse-javacc.sourceforge.net
- http://subclipse.tigris.org/update_1.4.x
- Select the plugins that appear under these sites
- Press Install - and follow the prompts to download and install the plugins
Add the Pig Trunk Repository
To add the Pig trunk repository:
- Open Eclipse
- Select file > New > Other...
- Choose SVN, Repository Location > Next
- Under the General tab:
- URL: http://svn.apache.org/repos/asf/pig/trunk
- Use a custom label: Pig
- Click Finish
To view the results:
- Window > Open Perspective > Other... > SVN Repository Exploring
- Window > Show View > SVN Repositories
Create a Java Project
Checkout Pig
Create First, create a directory on your development machine (for example "mypig") and checkout the Pig source from SVN: http://svn.apache.org/repos/asf/pig/trunk
Note: Windows users need to download and install TortoiseSVN (http://tortoiseSVN.tigris.org/)
...
Generate eclipse files:
ant clean eclipse-files -Dhadoopversion=23
Pre-compile and generate sources
ant compile gen -Dhadoopversion=23
Import Pig project into Eclipse
- Open Eclipse
- Select file > New > Other ...
- Select Java Project
- On the New Java Project dialog:
- Project name: PigProject
- Select: Create project from existing source
- Directory: browse to the "mypig" directory on your development machine and select the Trunk directory
- Click Next
- Click Finish
To view the results:
- Window > Open Perspective > Java
- Window > Show View > ''see the various options ...''
Update the Build Configuration
- run 'ant eclipse-files' in trunk/ dir.
- Refresh the project in eclipse
You are all set now!
The 'ant eclipse-files' target that generates eclipse configuration does not exist in revisions before r938733. So if you checked out an earlier version, you have to follow the steps below -
After the Java project is created, update the build configuration.
To update the build configuration:
- Open Eclipse
- Select Window > Open Perspective > Java (to open the !MyPig project)
- Select Project > Properties
- For the Java Build Path, check the settings as shown below.
Source
Code Block |
---|
lib-src/bzip2
lib-src/shock
src -> Make sure nothing is excluded
src-gen -> To get this do "ant clean jar" externally which will create this dir (refresh in eclipse to see it)
test -> Make sure nothing is excluded
The default output folder should be bin.
|
Libraries
Code Block |
---|
lib/hadoopXXX.jar
lib/hbaseXXX-test.jar
lib/hbaseXXX.jar
lib/Pig/zookeeper-hbase-xxx.jar
build/ivy/lib/Pig/javacc.jar
build/ivy/lib/Pig/jline-XXX.jar
build/ivy/lib/Pig/jsch-xxx.jar
build/ivy/lib/Pig/junit-xxx.jar
|
NOTE:
- For pig sources checked out from Apache before revision r771273, replace "build/ivy/lib/Pig" with "lib". Revision r771273 and above in apache svn use ivy to resolve dependencies need to build pig.
- If you are building piggybank you will need few extra jars. You can find all of those in build/ivy/lib/Pig/ once you run jar target of ant successfully.
Order and Export
...
- File->Import
- Select General->Existing Projects Into Workspace
- Select root directory (point to <top-level-directory>)
- Click Finish
- Project -> Properties -> Java Build Path -> Source -> Add Folder test/perf/pigmix/src/java
- Project -> Properties -> Java Build Path -> Libraries -> Remove javacc-4.2.jar.
- Project -> Properties -> Java Build Path -> Libraries -> Add JAR test/perf/pigmix/lib/sdsuLibJKD12.jar.
- Project -> Properties -> Java Build Path -> Libraries -> Add External JAR hadoop-yarn-server-applicationhistoryservice-*.jar. (I had to find and download this jar myself. It is needed for running tests.)
Run Pig Main
- Create a new Run Configurations
- Pick "org.apache.pig.Main" as the Main class
Run Pig Unit test
- Create a new Junit Run Configurations, pick any Pig test suite as "Test class"
- In "VM arguments", put "-Xmx1024m"
- Change "Working directory" into your PIG_HOME
- In Classpath, add user entries "$PIG_HOME/build/classes" and "$PIG_HOME/pig*.jar"
Troubleshooting
- Build problems: Check if eclipse is using JDK version 1.6, pig needs it (Under Preferences/Java/Compiler).
Tips
- To build using eclipse , open the ant window (Windows/Show View/Ant) , then drag and drop build.xml under your project to this window. Double click on jar in that will build pig.jar, on test will run unit testsIf you encounter this error: Missing required library: 'build/ivy/lib/Pig/javacc-4.2.jar' try one of the solutions described in PIG-3399.