Giter Site home page Giter Site logo

jangocheng / incubator-doris Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/doris

0.0 1.0 0.0 290.49 MB

Apache Doris (Incubating)

Home Page: http://doris.incubator.apache.org

License: Apache License 2.0

CMake 0.35% C++ 47.71% Python 0.52% C 1.88% Shell 0.23% Java 47.17% Makefile 0.03% Lex 0.14% Thrift 0.92% CSS 0.02% JavaScript 0.07% Dockerfile 0.02% Yacc 0.02% Scala 0.22% Ruby 0.05% HTML 0.01% TypeScript 0.53% Less 0.08% Mustache 0.02% Assembly 0.01%

incubator-doris's Introduction

Apache Doris (incubating)

Join the chat at https://gitter.im/apache-doris/Lobby

Doris is an MPP-based interactive SQL data warehousing for reporting and analysis. Its original name was Palo, developed in Baidu. After donated to Apache Software Foundation, it was renamed Doris.

1. License

Apache License, Version 2.0

2. Technology

Doris mainly integrates the technology of Google Mesa and Apache Impala, and it is based on a column-oriented storage engine and can communicate by MySQL client.

3. User cases

Doris not only provides high concurrent low latency point query performance, but also provides high throughput queries of ad-hoc analysis.

Doris not only provides batch data loading, but also provides near real-time mini-batch data loading.

Doris also provides high availability, reliability, fault tolerance, and scalability.

The simplicity (of developing, deploying and using) and meeting many data serving requirements in single system are the main features of Doris (refer to Overview).

4. Compile and install

Currently only supports Docker environment and Linux OS, such as Ubuntu and CentOS.

4.1 Compile in Docker environment (Recommended)

We offer a docker image as a Doris compilation environment. You can compile Doris from source in it and run the output binaries in other Linux environments.

Firstly, you need to install and start docker service.

And then you could build Doris as following steps:

Step1: Pull the docker image with Doris building environment

$ docker pull apachedoris/doris-dev:build-env-1.3

You can check it by listing images, for example:

$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
apachedoris/doris-dev   build-env-1.3       c9665fbee395        5 days ago         3.55GB

NOTE: You may have to use different images to compile from source.

image version commit id release version
apachedoris/doris-dev:build-env before ff0dd0d 0.8.x, 0.9.x
apachedoris/doris-dev:build-env-1.1 ff0dd0d or later 0.10.x or 0.11.x
apachedoris/doris-dev:build-env-1.2 1648226 or later 0.12.x or 0.13
apachedoris/doris-dev:build-env-1.3 ad67dd3 or later 0.14.x or later

Step2: Run the Docker image

You can run the image directly:

$ docker run -it apachedoris/doris-dev:build-env-1.3

Or if you want to compile the source located in your local host, you can map the local directory to the image by running:

$ docker run -it -v /your/local/path/incubator-doris-DORIS-x.x.x-release/:/root/incubator-doris-DORIS-x.x.x-release/ apachedoris/doris-dev:build-env-1.3

Step3: Download Doris source

Now you should be attached in docker environment.

You can download Doris source by release package or by git clone in image.

(If you already downloaded the source in your local host and map it to the image in Step2, you can skip this step.)

$ wget https://dist.apache.org/repos/dist/dev/incubator/doris/xxx.tar.gz
or
$ git clone https://github.com/apache/incubator-doris.git

Step4: Build Doris

Enter Doris source path and build Doris.

$ sh build.sh

After successfully building, it will install binary files in the directory output/.

4.2 For Linux OS

Prerequisites

You should install the following softwares:

GCC 10.2.1+, Oracle JDK 1.8+, Python 2.7+, Apache Maven 3.5+, CMake 3.19.2+, Flex 2.6.0+

Then set them to environment variable PATH and set JAVA_HOME.

If your GCC version is lower than 10.2.1, you can run:

sudo yum install -y devtoolset-10-gcc* 

If devtoolset-10 is not found in current repo. Oracle has already rebuilt the devtoolset-10 packages. You can create repo file CentOS-SCLo-scl.ol.repo in path /etc/yum.repos.d/:

[ol7_software_collections]
name=Software Collection packages for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/SoftwareCollections/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

and then

wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
rpm --import  /etc/pki/rpm-gpg/RPM-GPG-KEY-*
sudo yum install -y devtoolset-10-gcc*

Don't forget to set the path of GCC (e.g /opt/rh/devtoolset-10/root/usr/bin) to the environment variable PATH.

Compile and install

Run the following script, it will compile thirdparty libraries and build whole Doris.

sh build.sh

After successfully building, it will install binary files in the directory output/.

5. License Notice

Some of the third-party dependencies' license are not compatible with Apache 2.0 License. So you may have to disable some features of Doris to be complied with Apache 2.0 License. Details can be found in thirdparty/LICENSE.txt

6. Reporting Issues

If you find any bugs, please file a GitHub issue.

7. Links

incubator-doris's People

Contributors

morningman avatar yangzhg avatar emmymiao87 avatar kangkaisen avatar imay avatar kangpinghuang avatar hangyuanliu avatar caiconghui avatar chenhao7253886 avatar happenlee avatar acelyc111 avatar lingbin avatar wuyunfeng avatar wingsgo avatar xy720 avatar lide-reed avatar gaodayue avatar chaoyli avatar xinghuayu007 avatar yiguolei avatar wangbo avatar liutang123 avatar weizuo93 avatar zhangyu0123 avatar vagetablechicken avatar youngwb avatar stdpain avatar worker24h avatar wyb avatar seaven avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.