In-Memory Analytics with Apache Arrow: Perform fast and efficient data analytics on both flat and hierarchical structured data
Process tabular data and build high-performance query engines on modern CPUs and GPUs using Apache Arrow, a standardized language-independent memory format, for optimal performance
- Learn about Apache Arrow’s data types and interoperability with pandas and Parquet
- Work with Apache Arrow Flight RPC, Compute, and Dataset APIs to produce and consume tabular data
- Reviewed, contributed, and supported by Dremio, the co-creator of Apache Arrow
Apache Arrow is designed to accelerate analytics and allow the exchange of data across big data systems easily.
In-Memory Analytics with Apache Arrow begins with a quick overview of the Apache Arrow format, before moving on to helping you to understand Arrow’s versatility and benefits as you walk through a variety of real-world use cases. You’ll cover key tasks such as enhancing data science workflows with Arrow, using Arrow and Apache Parquet with Apache Spark and Jupyter for better performance and hassle-free data translation, as well as working with Perspective, an open source interactive graphical and tabular analysis tool for browsers. As you advance, you’ll explore the different data interchange and storage formats and become well-versed with the relationships between Arrow, Parquet, Feather, Protobuf, Flatbuffers, JSON, and CSV. In addition to understanding the basic structure of the Arrow Flight and Flight SQL protocols, you’ll learn about Dremio’s usage of Apache Arrow to enhance SQL analytics and discover how Arrow can be used in web-based browser apps. Finally, you’ll get to grips with the upcoming features of Arrow to help you stay ahead of the curve.
By the end of this book, you will have all the building blocks to create useful, efficient, and powerful analytical services and utilities with Apache Arrow.
What you will learn
- Use Apache Arrow libraries to access data files both locally and in the cloud
- Understand the zero-copy elements of the Apache Arrow format
- Improve read performance by memory-mapping files with Apache Arrow
- Produce or consume Apache Arrow data efficiently using a C API
- Use the Apache Arrow Compute APIs to perform complex operations
- Create Arrow Flight servers and clients for transferring data quickly
- Build the Arrow libraries locally and contribute back to the community
Who this book is for
This book is for developers, data analysts, and data scientists looking to explore the capabilities of Apache Arrow from the ground up. This book will also be useful for any engineers who are working on building utilities for data analytics and query engines, or otherwise working with tabular data, regardless of the programming language. Some familiarity with basic concepts of data analysis will help you to get the most out of this book but isn’t required. Code examples are provided in the C++, Go, and Python programming languages.