Skip to content

bmaidics/orc

This branch is 1257 commits behind apache/orc:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

72a98fb · Jun 16, 2020
Jun 10, 2020
Oct 21, 2019
Mar 27, 2020
Apr 21, 2020
Jun 16, 2020
Dec 4, 2019
Apr 27, 2020
Aug 9, 2018
Jan 20, 2020
Mar 17, 2017
Feb 25, 2020
Jun 10, 2020
Jan 17, 2020
Mar 10, 2020
Apr 23, 2019
May 22, 2018

Repository files navigation

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.

ORC File Library

This project includes both a Java library and a C++ library for reading and writing the Optimized Row Columnar (ORC) file format. The C++ and Java libraries are completely independent of each other and will each read all versions of ORC files. But the C++ library only writes the original (Hive 0.11) version of ORC files, and will be extended in the future.

Releases:

The current build status:

Bug tracking: Apache Jira

The subdirectories are:

  • c++ - the c++ reader and writer
  • docker - docker scripts to build and test on various linuxes
  • examples - various ORC example files that are used to test compatibility
  • java - the java reader and writer
  • proto - the protocol buffer definition for the ORC metadata
  • site - the website and documentation
  • tools - the c++ tools for reading and inspecting ORC files

Building

  • Install java 1.7 or higher
  • Install maven 3 or higher
  • Install cmake

To build a release version with debug information:

% mkdir build
% cd build
% cmake ..
% make package
% make test-out

To build a debug version:

% mkdir build
% cd build
% cmake .. -DCMAKE_BUILD_TYPE=DEBUG
% make package
% make test-out

To build a release version without debug information:

% mkdir build
% cd build
% cmake .. -DCMAKE_BUILD_TYPE=RELEASE
% make package
% make test-out

To build only the Java library:

% cd java
% mvn package

To build only the C++ library:

% mkdir build
% cd build
% cmake .. -DBUILD_JAVA=OFF
% make package
% make test-out

About

Mirror of Apache Orc

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 78.4%
  • Java 12.4%
  • C++ 8.4%
  • CSS 0.5%
  • CMake 0.2%
  • Dockerfile 0.1%