In-Memory Analytics with Apache Arrow: Accelerate data analytics for efficient processing of flat and hierarchical data structures
Author: Matthew Topol (Author)
Publisher finelybook 出版社: Packt Publishing
Edition 版次: 2nd ed.
Publication Date 出版日期: 2024-09-30
Language 语言: English
Print Length 页数: 406 pages
ISBN-10: 1835461220
ISBN-13: 9781835461228
Book Description
Harness the power of Apache Arrow to optimize tabular data processing and develop robust, high-performance data systems with its standardized, language-independent columnar memory format
Key Features
- Explore Apache Arrow’s data types and integration with pandas, Polars, and Parquet
- Work with Arrow libraries such as Flight SQL, Acero compute engine, and Dataset APIs for tabular data
- Enhance and accelerate machine learning data pipelines using Apache Arrow and its subprojects
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description
By finelybook
Apache Arrow is an open source, columnar in-memory data format designed for efficient data processing and analytics. This book harnesses the author’s 15 years of experience to show you a standardized way to work with tabular data across various programming languages and environments, enabling high-performance data processing and exchange.
This updated second edition gives you an overview of the Arrow format, highlighting its versatility and benefits through real-world use cases. It guides you through enhancing data science workflows, optimizing performance with Apache Parquet and Spark, and ensuring seamless data translation. You’ll explore data interchange and storage formats, and Arrow’s relationships with Parquet, Protocol Buffers, FlatBuffers, JSON, and CSV. You’ll also discover Apache Arrow subprojects, including Flight, SQL, Database Connectivity, and nanoarrow. You’ll learn to streamline machine learning workflows, use Arrow Dataset APIs, and integrate with popular analytical data systems such as Snowflake, Dremio, and DuckDB. The latter chapters provide real-world examples and case studies of products powered by Apache Arrow, providing practical insights into its applications.
By the end of this book, you’ll have all the building blocks to create 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 the read performance of data pipelines by memory-mapping Arrow files
- Produce and consume Apache Arrow data efficiently by sharing memory with the C API
- Leverage the Arrow compute engine, Acero, to perform complex operations
- Create Arrow Flight servers and clients for transferring data quickly
- Build the Arrow libraries locally and contribute to the community
Who this book is for
This book is for developers, data engineers, and data scientists looking to explore the capabilities of Apache Arrow from the ground up. Whether you’re building utilities for data analytics and query engines, or building full pipelines with tabular data, this book can help you out regardless of your preferred programming language. A basic understanding of data analysis concepts is needed, but not necessary. Code examples are provided using C++, Python, and Go throughout the book.
Table of Contents
- Getting Started with Apache Arrow
- Working with Key Arrow Specifications
- Format and Memory Handling
- Crossing the Language Barrier with the Arrow C Data API
- Acero: A Streaming Arrow Execution Engine
- Using the Arrow Datasets API
- Exploring Apache Arrow Flight RPC
- Understanding Arrow Database Connectivity (ADBC)
- Using Arrow with Machine Learning Workflows
- Powered by Apache Arrow
- How to Leave Your Mark on Arrow
- Future Development and Plans
Review
“Matt Topol has been a driving force in the Go libraries for Arrow, and with this new book, he has made a significant contribution to making the whole project a lot more accessible to newcomers. The book goes in depth into the details of how different pieces of Arrow work while highlighting the many different building blocks that could be employed by an Arrow user to accelerate or simplify their application.
I am thrilled to see this updated second edition of this book as the Arrow project and its open-source ecosystem continue to expand in new, impactful directions, even more than eight years since the project started. This was the first true “Arrow book” since the project’s founding, and it is a valuable resource for developers who want to explore different areas in depth and to learn how to apply new tools in their projects.
I’m always happy to recommend it to new users of Arrow as well as existing users who are looking to deepen their knowledge by learning from an expert like Matt.”
Wes McKinney, Co-Founder of Voltron Data and Principal Architect at Posit, Co-Creator and PMC for Apache Arrow
About the Author
Matthew Topol is a member of the Apache Arrow Project Management Committee (PMC) and a staff software engineer at Voltron Data, Inc. Matt has worked in infrastructure, application development, and large-scale distributed system analytical processing for financial data. At Voltron Data, Matt’s primary responsibilities have been working on and enhancing the Apache Arrow libraries and associated sub-projects. In his spare time, Matt likes to bash his head against a keyboard, develop and run delightfully demented fantasy games for his victims—er—friends, and share his knowledge and experience with anyone interested enough to listen.