Compile Sedona source code¶
Compile Scala / Java source code¶
Sedona Scala/Java code is a project with multiple modules. Each module is a Scala/Java mixed project which is managed by Apache Maven 3.
- Make sure your Linux/Mac machine has Java 1.8, Apache Maven 3.3.1+, and Python3. The compilation of Sedona is not tested on Windows machine.
To compile all modules, please make sure you are in the root folder of all modules. Then enter the following command in the terminal:
mvn clean install -DskipTests
mvn clean install
mvn clean install -DskipTests -Dgeotools
Note
By default, this command will compile Sedona with Spark 3.0 and Scala 2.12
Compile with different targets¶
mvn clean install -DskipTests -Dscala=2.12
mvn clean install -DskipTests -Dscala=2.13
Tip
To get the Sedona Spark Shaded jar with all GeoTools jars included, simply append -Dgeotools
option. The command is like this:mvn clean install -DskipTests -Dscala=2.12 -Dspark=3.0 -Dgeotools
Download staged jars¶
Sedona uses GitHub action to automatically generate jars per commit. You can go here and download the jars by clicking the commit's Artifacts tag.
Run Python test¶
- Set up the environment variable SPARK_HOME and PYTHONPATH
For example,
export SPARK_HOME=$PWD/spark-3.0.1-bin-hadoop2.7
export PYTHONPATH=$SPARK_HOME/python
-Dgeotools
and then copy the sedona-spark-shaded-1.4.0.jar to SPARK_HOME/jars/ folder.
cp spark-shaded/target/sedona-spark-shaded-xxx.jar SPARK_HOME/jars/
sudo apt-get -y install python3-pip python-dev libgeos-dev
sudo pip3 install -U setuptools
sudo pip3 install -U wheel
sudo pip3 install -U virtualenvwrapper
sudo pip3 install -U pipenv
cd python
pipenv --python 3.7
cd python
pipenv install pyspark==3.0.1
pipenv install --dev
cd python
pipenv run pytest tests
Compile the documentation¶
The website is automatically built after each commit. The built website can be downloaded here:
MkDocs website¶
The source code of the documentation website is written in Markdown and then compiled by MkDocs. The website is built upon Material for MkDocs template.
In the Sedona repository, MkDocs configuration file mkdocs.yml is in the root folder and all documentation source code is in docs folder.
To compile the source code and test the website on your local machine, please read MkDocs Tutorial and Materials for MkDocs Tutorial.
In short, you need to run:
pip install mkdocs
pip install mkdocs-material
pip install mkdocs-macros-plugin
pip install mkdocs-git-revision-date-localized-plugin
pip install mike
After installing MkDocs and MkDocs-Material, run the command in Sedona root folder:
mike deploy --update-aliases latest-snapshot latest
mike set-default latest
mike serve