THIS PROJECT IS NO LONGER MAINTAINED, HAVE A LOOK HERE
Access to Arrow C++ from Go.
Why Not Apache Arrow for Go?
We'd like to share memory between Go & Python and the current arrow bindings
don't have that option. Since pyarrow
uses the C++
Arrow under the hood, we
can just pass a s a pointer.
Also, the C++ Arrow library is more maintained than the Go one and have more features.
- The C++ glue layer is in
carrow.cc
, we try to keep it simple and unaware of Go. - See
Dockerfile
&build-docker
target in theMakefile
on how to setup an environment - See
Dockerfile.test
for running tests (used in CircleCI)
We have Go, C++ & Python code working together. See the Dockerfile
on how we
get dependencies and set environment for development.
$ PKG_CONFIG_PATH=/opt/miniconda/lib/pkgconfig LD_LIBRARY_PATH=/opt/miniconda/lib go build ./_misc/wtr.go
$ LD_LIBRARY_PATH=/opt/miniconda/lib gdb wtr
(gdb) break carrow.cc:write_table
(gdb) run -db /tmp/plasma.db -id 800