This is a very early stage MATLAB interface to the Apache Arrow C++ libraries.
The current code only supports reading/writing numeric types from/to Feather files.
See: Arrow CPP README
cd arrow/matlab
mkdir build
cd build
cmake ..
make
To specify a non-standard MATLAB install location, use the Matlab_ROOT_DIR CMake flag:
cmake .. -DMatlab_ROOT_DIR=/<PATH_TO_MATLAB_INSTALL>
To specify a non-standard Arrow install location, use the ARROW_HOME CMake flag:
cmake .. -DARROW_HOME=/<PATH_TO_ARROW_INSTALL>
This may be preferred if you are using MATLAB R2018b or later and have encountered linker errors when using CMake.
Prerequisite: Ensure that the Arrow C++ library is already installed and the ARROW_HOME
environment variable is set to the installation root.
To verify this, you can run:
>> getenv ARROW_HOME
This should print a path that contains include
and lib
directories with Arrow C++ headers and libraries.
Navigate to the build_support
subfolder and run the compile
function to build the necessary MEX files:
>> cd build_support
>> compile
Run the test
function to execute the unit tests:
>> test
>> cd(fullfile('arrow', 'matlab'));
>> addpath src;
>> addpath build;
>> t = array2table(rand(10, 10));
>> filename = 'table.feather';
>> featherwrite(filename,t);
>> filename = 'table.feather';
>> t = featherread(filename);
>> cd(fullfile('arrow', 'matlab'));
>> addpath src;
>> addpath build;
>> cd test;
>> runtests .;