Skip to content

Commit ee134f0

Browse files
jcristwesm
authored andcommitted
ARROW-1969: [C++] Don't build ORC extension by default
- Turns off building optional ORC extension by default - Fixes travis builds to turn on ORC extension for a few branches - Adds trivial import test to python build - Adds documentation on how to build optional ORC extension Author: Jim Crist <jiminy.crist@gmail.com> Closes apache#1457 from jcrist/orc-off-by-default and squashes the following commits: fc9898d [Jim Crist] Document how to build ORC integration 950ae38 [Jim Crist] ORC integration is off by default
1 parent 95d894d commit ee134f0

File tree

7 files changed

+23
-2
lines changed

7 files changed

+23
-2
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ matrix:
5454
- export ARROW_TRAVIS_USE_TOOLCHAIN=1
5555
- export ARROW_TRAVIS_VALGRIND=1
5656
- export ARROW_TRAVIS_PLASMA=1
57+
- export ARROW_TRAVIS_ORC=1
5758
- export ARROW_TRAVIS_CLANG_FORMAT=1
5859
- export ARROW_BUILD_WARNING_LEVEL=CHECKIN
5960
- export CC="clang-4.0"
@@ -75,6 +76,7 @@ matrix:
7576
before_script:
7677
- export ARROW_TRAVIS_USE_TOOLCHAIN=1
7778
- export ARROW_TRAVIS_PLASMA=1
79+
- export ARROW_TRAVIS_ORC=1
7880
- export ARROW_BUILD_WARNING_LEVEL=CHECKIN
7981
- travis_wait 50 $TRAVIS_BUILD_DIR/ci/travis_before_script_cpp.sh
8082
script:

ci/travis_before_script_cpp.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ if [ $ARROW_TRAVIS_PLASMA == "1" ]; then
8484
CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_PLASMA=ON"
8585
fi
8686

87+
if [ $ARROW_TRAVIS_ORC == "1" ]; then
88+
CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_ORC=ON"
89+
fi
90+
8791
if [ $ARROW_TRAVIS_VALGRIND == "1" ]; then
8892
CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_TEST_MEMCHECK=ON"
8993
fi

ci/travis_script_python.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ cmake -GNinja \
6363
-DARROW_BUILD_UTILITIES=off \
6464
-DARROW_PLASMA=on \
6565
-DARROW_PYTHON=on \
66+
-DARROW_ORC=on \
6667
-DCMAKE_BUILD_TYPE=$ARROW_BUILD_TYPE \
6768
-DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
6869
$ARROW_CPP_DIR
@@ -88,6 +89,7 @@ popd
8889

8990
python -c "import pyarrow.parquet"
9091
python -c "import pyarrow.plasma"
92+
python -c "import pyarrow.orc"
9193

9294
if [ $TRAVIS_OS_NAME == "linux" ]; then
9395
export PLASMA_VALGRIND=1

cpp/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
121121

122122
option(ARROW_ORC
123123
"Build the Arrow ORC adapter"
124-
ON)
124+
OFF)
125125

126126
option(ARROW_JEMALLOC
127127
"Build the Arrow jemalloc-based allocator"

cpp/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,13 @@ The CUDA toolchain used to build the library can be customized by using the
145145
This library is still in Alpha stages, and subject to API changes without
146146
deprecation warnings.
147147

148+
### Building Apache ORC integration (optional)
149+
150+
The optional arrow reader for the Apache ORC format (found in the
151+
`arrow::adapters::orc` namespace) can be built by passing `-DARROW_ORC=on`.
152+
This is currently not supported on windows. Note that this functionality is
153+
still in Alpha stages, and subject to API changes without deprecation warnings.
154+
148155
### API documentation
149156

150157
To generate the (html) API documentation, run the following command in the apidoc

python/doc/source/development.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,9 @@ Now build and install the Arrow C++ libraries:
175175
If you don't want to build and install the Plasma in-memory object store,
176176
you can omit the ``-DARROW_PLASMA=on`` flag.
177177

178+
To add support for the experimental Apache ORC integration, include
179+
``-DARROW_ORC=on`` in these flags.
180+
178181
Now, optionally build and install the Apache Parquet libraries in your
179182
toolchain:
180183

@@ -205,6 +208,9 @@ Now, build pyarrow:
205208
If you did not build parquet-cpp, you can omit ``--with-parquet`` and if
206209
you did not build with plasma, you can omit ``--with-plasma``.
207210

211+
If you built with the experimental Apache ORC integration, include
212+
``--with-orc`` in these flags.
213+
208214
You should be able to run the unit tests with:
209215

210216
.. code-block:: shell

python/manylinux1/build_arrow.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ for PYTHON in ${PYTHON_VERSIONS}; do
5858
ARROW_BUILD_DIR=/arrow/cpp/build-PY${PYTHON}
5959
mkdir -p "${ARROW_BUILD_DIR}"
6060
pushd "${ARROW_BUILD_DIR}"
61-
PATH="$(cpython_path $PYTHON)/bin:$PATH" cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/arrow-dist -DARROW_BUILD_TESTS=OFF -DARROW_BUILD_SHARED=ON -DARROW_BOOST_USE_SHARED=OFF -DARROW_JEMALLOC=off -DARROW_RPATH_ORIGIN=ON -DARROW_JEMALLOC_USE_SHARED=OFF -DARROW_PYTHON=ON -DPythonInterp_FIND_VERSION=${PYTHON} -DARROW_PLASMA=ON ..
61+
PATH="$(cpython_path $PYTHON)/bin:$PATH" cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/arrow-dist -DARROW_BUILD_TESTS=OFF -DARROW_BUILD_SHARED=ON -DARROW_BOOST_USE_SHARED=OFF -DARROW_JEMALLOC=off -DARROW_RPATH_ORIGIN=ON -DARROW_JEMALLOC_USE_SHARED=OFF -DARROW_PYTHON=ON -DPythonInterp_FIND_VERSION=${PYTHON} -DARROW_PLASMA=ON -DARROW_ORC=ON ..
6262
make -j5 install
6363
popd
6464

0 commit comments

Comments
 (0)