Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
"Build the libarrow shared libraries"
ON)

option(ARROW_PARQUET
"Build the Parquet adapter and link to libparquet"
OFF)

option(ARROW_TEST_MEMCHECK
"Run the test suite using valgrind --tool=memcheck"
OFF)
Expand Down Expand Up @@ -702,20 +698,6 @@ add_subdirectory(src/arrow/io)
add_subdirectory(src/arrow/util)
add_subdirectory(src/arrow/types)

#----------------------------------------------------------------------
# Parquet adapter library

if(ARROW_PARQUET)
find_package(Parquet REQUIRED)
include_directories(SYSTEM ${PARQUET_INCLUDE_DIR})
ADD_THIRDPARTY_LIB(parquet
STATIC_LIB ${PARQUET_STATIC_LIB}
SHARED_LIB ${PARQUET_SHARED_LIB})

add_subdirectory(src/arrow/parquet)
list(APPEND LINK_LIBS arrow_parquet parquet)
endif()

#----------------------------------------------------------------------
# IPC library

Expand Down
44 changes: 36 additions & 8 deletions cpp/cmake_modules/FindParquet.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,20 @@ endif()

# Try the parameterized roots, if they exist
if ( _parquet_roots )
find_path( PARQUET_INCLUDE_DIR NAMES parquet/api/reader.h
PATHS ${_parquet_roots} NO_DEFAULT_PATH
PATH_SUFFIXES "include" )
find_library( PARQUET_LIBRARIES NAMES parquet
PATHS ${_parquet_roots} NO_DEFAULT_PATH
PATH_SUFFIXES "lib" )
find_path( PARQUET_INCLUDE_DIR NAMES parquet/api/reader.h
PATHS ${_parquet_roots} NO_DEFAULT_PATH
PATH_SUFFIXES "include" )
find_library( PARQUET_LIBRARIES NAMES parquet
PATHS ${_parquet_roots} NO_DEFAULT_PATH
PATH_SUFFIXES "lib" )

find_library(PARQUET_ARROW_LIBRARIES NAMES parquet_arrow
PATHS ${_parquet_roots} NO_DEFAULT_PATH
PATH_SUFFIXES "lib")
else ()
find_path( PARQUET_INCLUDE_DIR NAMES parquet/api/reader.h )
find_library( PARQUET_LIBRARIES NAMES parquet )
find_path(PARQUET_INCLUDE_DIR NAMES parquet/api/reader.h )
find_library(PARQUET_LIBRARIES NAMES parquet)
find_library(PARQUET_ARROW_LIBRARIES NAMES parquet_arrow)
endif ()


Expand All @@ -51,6 +56,18 @@ else ()
set(PARQUET_FOUND FALSE)
endif ()

if (PARQUET_INCLUDE_DIR AND PARQUET_ARROW_LIBRARIES)
set(PARQUET_ARROW_FOUND TRUE)
get_filename_component(PARQUET_ARROW_LIBS ${PARQUET_ARROW_LIBRARIES} PATH)
set(PARQUET_ARROW_LIB_NAME libparquet_arrow)
set(PARQUET_ARROW_STATIC_LIB
${PARQUET_ARROW_LIBS}/${PARQUET_ARROW_LIB_NAME}.a)
set(PARQUET_ARROW_SHARED_LIB
${PARQUET_ARROW_LIBS}/${PARQUET_ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
else ()
set(PARQUET_ARROW_FOUND FALSE)
endif ()

if (PARQUET_FOUND)
if (NOT Parquet_FIND_QUIETLY)
message(STATUS "Found the Parquet library: ${PARQUET_LIBRARIES}")
Expand All @@ -71,11 +88,22 @@ else ()
endif ()
endif ()

if (PARQUET_ARROW_FOUND)
if (NOT Parquet_FIND_QUIETLY)
message(STATUS "Found the Parquet Arrow library: ${PARQUET_ARROW_LIBS}")
endif()
endif()

mark_as_advanced(
PARQUET_FOUND
PARQUET_INCLUDE_DIR
PARQUET_LIBS
PARQUET_LIBRARIES
PARQUET_STATIC_LIB
PARQUET_SHARED_LIB

PARQUET_ARROW_FOUND
PARQUET_ARROW_LIBS
PARQUET_ARROW_STATIC_LIB
PARQUET_ARROW_SHARED_LIB
)
15 changes: 5 additions & 10 deletions cpp/doc/Parquet.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,19 @@
## Building Arrow-Parquet integration

To build the Arrow C++'s Parquet adapter library, you must first build [parquet-cpp][1]:
To use Arrow C++ with Parquet, you must first build the Arrow C++ libraries and
install them someplace. Then, you can build [parquet-cpp][1] with the Arrow
adapter library:

```bash
# Set this to your preferred install location
export PARQUET_HOME=$HOME/local
export ARROW_HOME=$HOME/local

git clone https://github.com/apache/parquet-cpp.git
cd parquet-cpp
source setup_build_env.sh
cmake -DCMAKE_INSTALL_PREFIX=$PARQUET_HOME
cmake -DCMAKE_INSTALL_PREFIX=$PARQUET_HOME -DPARQUET_ARROW=on
make -j4
make install
```

Make sure that `$PARQUET_HOME` is set to the installation location. Now, build
Arrow with the Parquet adapter enabled:

```bash
cmake -DARROW_PARQUET=ON
```

[1]: https://github.com/apache/parquet-cpp
67 changes: 0 additions & 67 deletions cpp/src/arrow/parquet/CMakeLists.txt

This file was deleted.

105 changes: 0 additions & 105 deletions cpp/src/arrow/parquet/io.cc

This file was deleted.

84 changes: 0 additions & 84 deletions cpp/src/arrow/parquet/io.h

This file was deleted.

Loading