### What is this PR for? In ZEPPELIN-1607, I'd like refactor livy interpreter to scoped mode by default, this require username when open this interpreter. So I propose to pass username when creating interpreter through thrift. What I did in this PR. * update `RemoteInterpreterService.thrift` and regenerate the java thrift code. * update `genthrift.sh`, otherwise hashCode method won't be generated correctly. * This is one compilation issue (`PythonDockerInterpreterTest.java`) in the existing master branch, I also fix it here. ### What type of PR is it? [Improvement] ### Todos * [ ] - Task ### What is the Jira issue? * https://issues.apache.org/jira/browse/ZEPPELIN-1707 ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jeff Zhang <zjffdu@apache.org> Closes #1679 from zjffdu/ZEPPELIN-1707 and squashes the following commits:763455f[Jeff Zhang] regenerate it using thrift 0.9.2a247552[Jeff Zhang] ZEPPELIN-1707. Pass userName when creating interpreter through thrift
4.4 KiB
| layout | title | description | group |
|---|---|---|---|
| page | Contributing to Apache Zeppelin (Code) | How can you contribute to Apache Zeppelin project? This document covers from setting up your develop environment to making a pull request on Github. | development |
{% include JB/setup %}
Contributing to Apache Zeppelin ( Code )
NOTE : Apache Zeppelin is an Apache2 License Software. Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License.
Setting up
Here are some tools you will need to build and test Zeppelin.
Software Configuration Management ( SCM )
Since Zeppelin uses Git for it's SCM system, you need git client installed in your development machine.
Integrated Development Environment ( IDE )
You are free to use whatever IDE you prefer, or your favorite command line editor.
Build Tools
To build the code, install
- Oracle Java 7
- Apache Maven
Getting the source code
First of all, you need Zeppelin source code. The official location of Zeppelin is http://git.apache.org/zeppelin.git.
git access
Get the source code on your development machine using git.
git clone git://git.apache.org/zeppelin.git zeppelin
You may also want to develop against a specific branch. For example, for branch-0.5.6
git clone -b branch-0.5.6 git://git.apache.org/zeppelin.git zeppelin
Apache Zeppelin follows Fork & Pull as a source control workflow. If you want to not only build Zeppelin but also make any changes, then you need to fork Zeppelin github mirror repository and make a pull request.
Build
mvn install
To skip test
mvn install -DskipTests
To build with specific spark / hadoop version
mvn install -Dspark.version=x.x.x -Dhadoop.version=x.x.x
For the further
Run Zeppelin server in development mode
cd zeppelin-server
HADOOP_HOME=YOUR_HADOOP_HOME JAVA_HOME=YOUR_JAVA_HOME mvn exec:java -Dexec.mainClass="org.apache.zeppelin.server.ZeppelinServer" -Dexec.args=""
Note: Make sure you first run
mvn clean install -DskipTestson your zeppelin root directory, otherwise your server build will fail to find the required dependencies in the local repro.
or use daemon script
bin/zeppelin-daemon start
Server will be run on http://localhost:8080.
Generating Thrift Code
Some portions of the Zeppelin code are generated by Thrift. For most Zeppelin changes, you don't need to worry about this. But if you modify any of the Thrift IDL files (e.g. zeppelin-interpreter/src/main/thrift/*.thrift), then you also need to regenerate these files and submit their updated version as part of your patch.
To regenerate the code, install thrift-0.9.2 and then run the following command to generate thrift code.
cd <zeppelin_home>/zeppelin-interpreter/src/main/thrift
./genthrift.sh
Where to Start
You can find issues for beginner & newbie
Stay involved
Contributors should join the Zeppelin mailing lists.
- dev@zeppelin.apache.org is for people who want to contribute code to Zeppelin. [subscribe](mailto:dev-subscribe@zeppelin.apache.org?subject=send this email to subscribe), [unsubscribe](mailto:dev-unsubscribe@zeppelin.apache.org?subject=send this email to unsubscribe), archives
If you have any issues, create a ticket in JIRA.