Letting Arrow do the work for you
There are three main concepts to think about when working with the Arrow compute libraries:
- Input shaping: Describing the shape of your input when calling a function
- Value casting: Ensuring compatible data types between arguments when calling a function
- Types of functions: What kind of function are you looking for? Scalar? Aggregation? Or vector?
Let's quickly dig into each of these so you can see how they affect writing the code to use the computations.
Important!
Not all language implementations of the Arrow libraries currently provide a Compute API. The primary libraries that expose it are the C++ and Python libraries, while the level of support for the compute library varies in the other language implementations. For instance, the support for the compute functions in the Go library is currently something I am working on adding. It might even be done by the time this book is in your hands! Consider the possibility...