blob: df37df489e83ade41c3c21c94f59ff41e2800477 [file] [log] [blame] [view]
# How to build and run Apache Drill
## Prerequisites
Currently, the Apache Drill build process is known to work on Linux, Windows and OSX. To build, you need to have the following software installed on your system to successfully complete a build.
* Java 8
* Maven 3.6.3 or greater
## Docker based build environment
The `start-build-env.sh` script in the root of the project source builds and starts a preconfigured environment
that contains all the tools needed to build Apache Drill from source.
This is known to work on Ubuntu 20.04 with Docker installed.
On other systems your success may vary. On Redhat/CentOS based systems no longer have Docker.
## Confirm settings
# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
# mvn --version
Apache Maven 3.6.3
## Formatter Configuration
Setting up IDE formatters is recommended and can be done by importing the following settings into your browser.
[Formatter File](../../dev-support/formatter)
## Checkout
git clone https://github.com/apache/drill.git
## Build
cd drill
mvn clean install -DskipTests
## Build Quickly
This command works to build Drill in about 2 minutes for quick testing. The `-o` (offline) argument
prevents Maven from downloading snapshot artifacts from the snapshot repo.
mvn install -o -T1C -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dlicense.skip=true -Dcheckstyle.skip=true -Dfindbugs.skip=true -Dmaven.site.skip=true -Denforcer.skip=true -DskipIfEmpty=true -Dmaven.compiler.optimize=true
## Generate Dependency Report
mvn clean site
## Explode tarball in installation directory
mkdir /opt/drill
tar xvzf distribution/target/*.tar.gz --strip=1 -C /opt/drill
## Start SQLLine (which starts Drill in embedded mode)
cd /opt/drill
bin/sqlline -u jdbc:drill:zk=local -n admin -p admin
## Run a query
SELECT
employee_id,
first_name
FROM cp.`employee.json`;
## More information
For more information including how to run a Apache Drill cluster, visit the [Apache Drill Documentation](http://drill.apache.org/docs/)