Conference50min
Hardwood: Building a Parquet Parser From Scratch (With a Little Help From AI)
A talk about Hardwood, a new modern Java Parquet parser built from scratch to avoid Hadoop dependencies and single-threaded limits. It explores Parquet internals, parallel decoding, high-throughput techniques, JDK Flight Recorder profiling, and lessons from AI-assisted development with Claude Code.
talk.summaryAiDisclaimer
Gunnar MorlingConfluent
talkDetail.whenAndWhere
Thursday, October 8, 13:50-14:40
TBA 9
talks.roomOccupancytalks.noOccupancyInfo
Apache Parquet has become the lingua franca of the modern data ecosystem, powering data lakes and table formats like Apache Iceberg—but for Java, the go-to library parquet-java pulls in Hadoop and a truckload of other dependencies, and its reader is single-threaded. This was bugging me enough to start Hardwood, a brand-new Parquet parser written from scratch in modern Java, applying some of the performance lessons learned from the One Billion Row Challenge. Come and join me for this talk, where we'll look at:
- The internals of the Parquet format and what makes parallelizing its decoding surprisingly tricky
- Techniques for achieving high throughput, such as page-level parallelism, adaptive prefetching, and avoiding auto-boxing in hot loops
- How to use JDK Flight Recorder for identifying performance bottlenecks
- Practical learnings from using AI (specifically, Claude Code) as a coding companion—what works well, where you need to stay sharp, and why "built with AI" doesn't mean "vibe-coded"
Whether you're interested in file formats, Java performance, or getting a realistic take on AI-assisted development, there should be something in here for you.
- The internals of the Parquet format and what makes parallelizing its decoding surprisingly tricky
- Techniques for achieving high throughput, such as page-level parallelism, adaptive prefetching, and avoiding auto-boxing in hot loops
- How to use JDK Flight Recorder for identifying performance bottlenecks
- Practical learnings from using AI (specifically, Claude Code) as a coding companion—what works well, where you need to stay sharp, and why "built with AI" doesn't mean "vibe-coded"
Whether you're interested in file formats, Java performance, or getting a realistic take on AI-assisted development, there should be something in here for you.
Gunnar Morling
Gunnar Morling is an open-source software engineer in the Java and data streaming space, currently working as a Technologist at Confluent. Previously, he helped to build a realtime stream processing platform based on Apache Flink and led the Debezium project, a distributed platform for change data capture. He is a Java Champion and has founded multiple open source projects such as Hardwood, kcctl, JfrUnit, and MapStruct. Gunnar is an avid blogger (morling.dev) and has spoken at various conferences like QCon, Java One, and Devoxx. He lives in Hamburg, Germany.