128 lines
4.7 KiB
RPMSpec
128 lines
4.7 KiB
RPMSpec
|
Summary: Library for producing small, fast columnar storage for Hadoop workloads
|
||
|
Name: liborc
|
||
|
Version: 1.6.6
|
||
|
Release: 1%{?dist}
|
||
|
License: ASL 2.0
|
||
|
URL: http://orc.apache.org/
|
||
|
Source: https://archive.apache.org/dist/orc/orc-%{version}/orc-%{version}.tar.gz
|
||
|
Patch1: 0001-cmake.patch
|
||
|
# Apache ORC has numerous compile errors and apparently assumes a 64-bit
|
||
|
# build and runtime environment. The only consumer of this package is
|
||
|
# Ceph (by way of Apache Arrow) which is also 64-bit only
|
||
|
ExcludeArch: i686 armv7hl
|
||
|
BuildRequires: gnupg2
|
||
|
BuildRequires: cmake
|
||
|
BuildRequires: gcc-c++
|
||
|
BuildRequires: protobuf-devel
|
||
|
BuildRequires: zlib-devel
|
||
|
BuildRequires: libzstd-devel
|
||
|
BuildRequires: lz4-devel
|
||
|
BuildRequires: snappy-devel
|
||
|
|
||
|
%description
|
||
|
ORC is a self-describing type-aware columnar file format designed
|
||
|
for Hadoop workloads. It is optimized for large streaming reads,
|
||
|
but with integrated support for finding required rows quickly.
|
||
|
Storing data in a columnar format lets the reader read, decompress,
|
||
|
and process only the values that are required for the current query.
|
||
|
Because ORC files are type-aware, the writer chooses the most
|
||
|
appropriate encoding for the type and builds an internal index as
|
||
|
the file is written. Predicate pushdown uses those indexes to
|
||
|
determine which stripes in a file need to be read for a particular
|
||
|
query and the row indexes can narrow the search to a particular set
|
||
|
of 10,000 rows. ORC supports the complete set of types in Hive,
|
||
|
including the complex types: structs, lists, maps, and unions.
|
||
|
|
||
|
%package -n liborc1
|
||
|
Summary: Library for producing small, fast columnar storage for Hadoop workloads
|
||
|
Provides: %{name}%{?_isa} = %{version}-%{release}
|
||
|
|
||
|
%description -n liborc1
|
||
|
ORC is a self-describing type-aware columnar file format designed
|
||
|
for Hadoop workloads. It is optimized for large streaming reads,
|
||
|
but with integrated support for finding required rows quickly.
|
||
|
Storing data in a columnar format lets the reader read, decompress,
|
||
|
and process only the values that are required for the current query.
|
||
|
Because ORC files are type-aware, the writer chooses the most
|
||
|
appropriate encoding for the type and builds an internal index as
|
||
|
the file is written. Predicate pushdown uses those indexes to
|
||
|
determine which stripes in a file need to be read for a particular
|
||
|
query and the row indexes can narrow the search to a particular set
|
||
|
of 10,000 rows. ORC supports the complete set of types in Hive,
|
||
|
including the complex types: structs, lists, maps, and unions.
|
||
|
|
||
|
%package devel
|
||
|
Summary: Header files, libraries and development documentation for %{name}
|
||
|
Requires: %{name}1 = %{version}-%{release}
|
||
|
|
||
|
%description devel
|
||
|
ORC is a self-describing type-aware columnar file format designed
|
||
|
for Hadoop workloads. It is optimized for large streaming reads,
|
||
|
but with integrated support for finding required rows quickly.
|
||
|
Storing data in a columnar format lets the reader read, decompress,
|
||
|
and process only the values that are required for the current query.
|
||
|
Because ORC files are type-aware, the writer chooses the most
|
||
|
appropriate encoding for the type and builds an internal index as
|
||
|
the file is written. Predicate pushdown uses those indexes to
|
||
|
determine which stripes in a file need to be read for a particular
|
||
|
query and the row indexes can narrow the search to a particular set
|
||
|
of 10,000 rows. ORC supports the complete set of types in Hive,
|
||
|
including the complex types: structs, lists, maps, and unions.
|
||
|
|
||
|
Contains header files for developing applications that use the %{name}
|
||
|
library.
|
||
|
|
||
|
%prep
|
||
|
%setup -qn orc-1.6.6
|
||
|
%patch1 -p1 -b .orig
|
||
|
|
||
|
%build
|
||
|
%cmake . \
|
||
|
-DOVERRIDE_INSTALL_PREFIX=/usr \
|
||
|
-DCMAKE_COLOR_MAKEFILE:BOOL=OFF \
|
||
|
-DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
|
||
|
-DINSTALL_LIBDIR:PATH=%{_libdir} \
|
||
|
-DBUILD_SHARED_LIBS:BOOL=on \
|
||
|
-DBUILD_LIBHDFSPP:BOOL=off \
|
||
|
-DSNAPPY_HOME="/usr" \
|
||
|
-DLZ4_HOME="/usr" \
|
||
|
-DZLIB_HOME="/usr" \
|
||
|
-DZSTD_HOME="/usr" \
|
||
|
-DGTEST_HOME="/usr" \
|
||
|
-DPROTOBUF_HOME="/usr" \
|
||
|
-Dorc_VERSION="%{version}" \
|
||
|
-DBUILD_CPP_TESTS=off \
|
||
|
-DBUILD_TOOLS=off \
|
||
|
-DBUILD_JAVA=off \
|
||
|
-DANALYZE_JAVA=off \
|
||
|
"-GUnix Makefiles"
|
||
|
%cmake_build
|
||
|
|
||
|
%check
|
||
|
|
||
|
%install
|
||
|
%cmake_install
|
||
|
mkdir %{buildroot}%{_docdir}/%{name}1
|
||
|
mv %{buildroot}%{_docdir}/orc/NOTICE %{buildroot}%{_docdir}/%{name}1/
|
||
|
mkdir -p %{buildroot}/%{_defaultlicensedir}/%{name}1
|
||
|
mv %{buildroot}%{_docdir}/orc/LICENSE %{buildroot}/%{_defaultlicensedir}/%{name}1/
|
||
|
|
||
|
%ldconfig_scriptlets
|
||
|
|
||
|
%files -n %{name}1
|
||
|
%license LICENSE
|
||
|
%doc README.md NOTICE
|
||
|
%{_libdir}/liborc.so.*
|
||
|
|
||
|
%files devel
|
||
|
%dir %{_includedir}/orc
|
||
|
%{_includedir}/orc/*.hh
|
||
|
%{_libdir}/liborc.so
|
||
|
%dir %{_libdir}/cmake/orc
|
||
|
%{_libdir}/cmake/orc/orc*.cmake
|
||
|
|
||
|
%changelog
|
||
|
* Fri Aug 27 2021 Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 1.6.6-1
|
||
|
- New upstream release.
|
||
|
|