Summary
For this foray into the Arrow libraries, we’ve explored the efficient sharing of data between libraries using the Arrow C data interface. We covered the various structures utilized for passing the data between systems and went through various code examples showing how to do it, including utilizing the data on non-CPU devices. Remember that the motivation for this interface was for zero-copy data sharing between components of the same running process. It’s not intended for the C data API itself to mimic the features available in higher-level languages such as C++ or Python – just to share data. In addition, if you’re sharing between different processes or need persistent storage, you should be using the Arrow IPC format that we covered in Chapter 3, Format and Memory Handling. At this point, we’ve covered lots of ways to read, write, and transfer Arrow data. However, once you have the data in memory, you’re going to want to perform operations...