GithubHelp home page GithubHelp logo

chenxiaofa / hs2client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cloudera/hs2client

0.0 2.0 0.0 193 KB

C++ native client for Impala and Hive, with Python / pandas bindings

License: Apache License 2.0

CMake 7.87% Python 19.97% Shell 3.36% Perl 1.30% C++ 32.14% C 0.30% Thrift 35.06%

hs2client's Introduction

hs2client: C++ Thrift client for Impala and Hive

Build Status travis build status

This is a new project to create a robust, high performance open source HiveServer2 client library in C++. In addition to being a useful component for other C++ projects needing to communicate with Hive, Impala, and any systems using the HiveServer2 protocol, we can also create CPU- and memory-efficient bindings for other languages, like Python and R.

There is work still remaining to bring the project to feature-completeness with other Hive and Impala driver libraries:

  • SSL support
  • SASL Thrift transport (for secure clusters, or unsecure clusters configured to use the SASL transport)
  • Tools for asynchronous result set fetching

Development bootstrap

To build standalone thirdparty dependencies, ensure you are using a C++11 compiler and run:

# Build thirdparty Thrift and googletest and set $THRIFT_HOME.

./thirdparty/download_thirdparty.sh
./thirdparty/build_thirdparty.sh
source thirdparty/set_thirdparty_env.sh

If you are using cloudera/native-toolchain, you can instead use an environment setup script like:

export BOOST_VERSION=1.57.0
export THRIFT_VERSION=0.9.0-p2
export GTEST_VERSION=20151222

if [[ $OSTYPE == "darwin"* ]]; then
	THRIFT_VERSION=0.9.2-p2
fi

export CC=$NATIVE_TOOLCHAIN/gcc-4.9.2/bin/gcc
export CXX=$NATIVE_TOOLCHAIN/gcc-4.9.2/bin/g++
export LD_LIBRARY_PATH=$NATIVE_TOOLCHAIN/gcc-4.9.2/lib64

export THRIFT_HOME=$NATIVE_TOOLCHAIN/thrift-$THRIFT_VERSION
export BOOST_HOME=$NATIVE_TOOLCHAIN/boost-$BOOST_VERSION
export GTEST_HOME=$NATIVE_TOOLCHAIN/googletest-$GTEST_VERSION

Currently, only in-source builds are working:

cmake .
make -j4

hs2client's People

Contributors

wesm avatar twmarshall avatar tebeka avatar henryr avatar

Watchers

James Cloos avatar 陈晓发 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.