How to build/install Apache Drill on Ubuntu 13.04

Apache Drill is an Incubation project that is the first open source implementation of Google’s Dremel. It focusses on Interactive analysis of large scale datasets. Apache Drill provides low latency ad-hoc queries to many different data sources & is designed to query petabytes of data in seconds. Below is a crisp post on building Apache Drill source on Ubuntu 13.04 box.

1. Check Java version.
Apache Drill needs Java 7 in place for working, so check the version of java before we start. Below is the command to check java version. Otherwise here is a post on installing Oracle Java 7. Install Oracle Java 7.

$ javac -version
javac 1.7.0_25

2. Check Maven version.
Drill needs Maven 2 or higher for building itself. Below is the command to check Maven version. Otherwise here is a post to update your maven version. Install Maven3 on Ubuntu.

$ mvn -version
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.7.0_25/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-29-generic", arch: "amd64", family: "unix"

3. Check Protocol Buffer version.
Drill is dependent on the Protocol Buffer version 2.5. You can check the version of protocol buffer by below command. Otherwise you can install protocol buffer 2.5.0 by this short post. Install Protocol Buffer 2.5.0.

$ protoc --version
libprotoc 2.5.0

4. Getting the Apache Drill source code.
Lets get the code from the repository and get our hands dirty. You would have to install git if its not already installed on your box. You can skip the first command if git is installed.

$ apt-get install git-all
$ git clone https://git-wip-us.apache.org/repos/asf/incubator-drill.git
$ cd incubator-drill
$ mvn clean install -DskipTests

[INFO] ————————————————————————
[INFO] Reactor Summary:
[INFO]
[INFO] prototype-parent ……………………………. SUCCESS [2.836s]
[INFO] common …………………………………….. SUCCESS [4:23.938s]
[INFO] contrib-parent ……………………………… SUCCESS [0.112s]
[INFO] pom ……………………………………….. SUCCESS [0.174s]
[INFO] exec ………………………………………. SUCCESS [0.116s]
[INFO] Netty/Drill/Buffer ………………………….. SUCCESS [26.189s]
[INFO] java-exec ………………………………….. SUCCESS [20:54.561s]
[INFO] Logical Plan Execution Reference Implementation … SUCCESS [3:49.880s]
[INFO] planner ……………………………………. SUCCESS [0.173s]
[INFO] sqlparser ………………………………….. SUCCESS [19:50.261s]
[INFO] Packaging ………………………………….. SUCCESS [59.907s]
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 50:28.991s
[INFO] Finished at: Mon Sep 02 21:12:49 IST 2013
[INFO] Final Memory: 45M/226M
[INFO] ————————————————————————

5. Bingo.
We are done building Apache Drill on our Ubuntu box. Pick up your fav IDE and import the source and start playing with the source code.

3 thoughts on “How to build/install Apache Drill on Ubuntu 13.04”

  1. Pingback: What is Apache Drill | ConfusedCoders

  2. Hi ,

    At the last step am faacing issue, i get this as the output.
    $mvn clean install D-skipTests

    [INFO] Changes detected – recompiling the module!
    [INFO] Compiling 67 source files to /home/bizruntime/Documents/incubator-drill/protocol/target/classes
    [INFO] ————————————————————————
    [INFO] Reactor Summary:
    [INFO]
    [INFO] Apache Drill Root POM ……………………….. SUCCESS [6:57.492s]
    [INFO] Drill Protocol ……………………………… FAILURE [1:11.371s]
    [INFO] Common (Logical Plan, Base expressions) ……….. SKIPPED
    [INFO] contrib/Parent Pom ………………………….. SKIPPED
    [INFO] contrib/data/Parent Pom ……………………… SKIPPED
    [INFO] contrib/data/tpch-sample-data ………………… SKIPPED
    [INFO] exec/Parent Pom …………………………….. SKIPPED
    [INFO] exec/Netty Little Endian Buffers ……………… SKIPPED
    [INFO] exec/Java Execution Engine …………………… SKIPPED
    [INFO] contrib/hbase-storage-plugin …………………. SKIPPED
    [INFO] contrib/hive-storage-plugin/Parent Pom ………… SKIPPED
    [INFO] contrib/hive-storage-plugin/hive-exec-shaded …… SKIPPED
    [INFO] contrib/hive-storage-plugin/core ……………… SKIPPED
    [INFO] exec/JDBC Driver using dependencies …………… SKIPPED
    [INFO] contrib/sqlline …………………………….. SKIPPED
    [INFO] Packaging and Distribution Assembly …………… SKIPPED
    [INFO] ————————————————————————
    [INFO] BUILD FAILURE
    [INFO] ————————————————————————
    [INFO] Total time: 8:09.569s
    [INFO] Finished at: Tue Jun 24 11:25:56 IST 2014
    [INFO] Final Memory: 22M/98M
    [INFO] ————————————————————————
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project drill-protocol: Compilation failure -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    [ERROR]
    [ERROR] After correcting the problems, you can resume the build with the command
    [ERROR] mvn -rf :drill-protocol

    So please help me in this.

Leave a Reply to What is Apache Drill | ConfusedCoders Cancel reply

Your email address will not be published. Required fields are marked *