Panagiotis (Panos) Garefalakis

Staff Software Engineer, Data Analytics · San Francisco Bay Area

I enjoy building runtimes for large-scale data analytics engines! Today I am the tech lead of the Upper Engine team at Amazon EMR, where I focus on the performance and stability of our native query engine: vectorized execution, adaptive runtime filtering, and query optimization.

Earlier I was part of the core team that launched a managed, serverless stream processing service at Confluent, and improved the query runtimes behind the cloud data warehouse at Cloudera. Before that, a PhD at Imperial College London on resource management for shared compute clusters, supervised by Peter Pietzuch, with two summers at Microsoft's research lab in Silicon Valley. I am a PMC member on Apache ORC and a committer on Apache Hive.

Highlights

Selected work

Native query engine

2025 to now · AWS

Technical lead for the performance and stability of a native data analytics accelerator, co-leading the GA performance effort. More once it is public.

Flink exception classification

2022 to 2025 · Confluent

Designed, implemented and delivered exception classification, the single biggest usability improvement and adoption enabler for the Flink GA. It surfaces actionable, user-facing errors across more than 1M jobs per week, holding unclassified exceptions below 0.1%. Core contributor for Flink Java user defined functions and lead for Python UDFs. Delivered a new user code registry (Artifact Service) that validates and runs customer code across clouds and regions, plus a Validation API reused by three other products. Introduced feature-flagged SHIM versioning that cut UDF hotfix turnaround from weeks to minutes.

Runtime filtering in Hive and ORC

2019 to 2022 · Cloudera

Designed, implemented and delivered several enhancements to Cloudera's scalable query processing engine, such as lazy decoding (row-level filtering) and data-induced query predicates, improving query latency by up to 50%. Lazy decoding is an open source feature that cuts query runtime for production workloads by saving memory allocations and CPU cycles across long-running executors on large-scale clusters.

Open source