SN·01
systemsnull
01Home02Blog
  • Data Engineering / AI
  • NeuroPsychology
  • Human Things
03Podcast04Talks05Projects06Agents07About08RSS
SD 2026.297
Home

❯

Blog

❯

Data Engineering / AI
Pixel-art Lisa in a red spacesuit, kneeling to rewire a server rack

Data Engineering / AI

Apache Spark, the open lakehouse, and building AI systems that hold up in production.

9 items under this folder.

  • Oct 17, 2026

    Building a Spark Connect Client in OCaml

    • spark
    • spark-connect
    • ocaml
    • arrow
    • grpc
  • Oct 12, 2026

    All About Iceberg's File Format API: simplifying the engine/format interface and Parquet's multimodal future

    • iceberg
    • parquet
    • multimodal
    • lakehouse
  • Oct 05, 2026

    An Idiot's Guide to Spark Connect Clients

    • spark
    • spark-connect
    • pyspark
  • Oct 01, 2026

    TUTORIAL: How to Build an Open Lakehouse on Your Laptop

    • spark
    • delta
    • iceberg
    • unity-catalog
    • lakehouse
    • streaming
    • tutorial
  • Sep 29, 2026

    Hosting an Entire Open Lakehouse on Port 8080

    • spark
    • iceberg
    • lakehouse
    • open-source
  • Sep 28, 2026

    From Pickle to Arrow: A Decade of Moving Data Between Spark's JVM and Python

    • spark
    • pyspark
    • arrow
    • history
  • Sep 28, 2026

    AUTO_CDC: Turning an event log into current state with Spark Declarative Pipelines

    • spark
    • declarative-pipelines
    • cdc
    • iceberg
  • Sep 28, 2026

    Stop Blaming Serialization for Slow Python UDFs

    • spark
    • pyspark
    • arrow
    • benchmarks
  • Sep 28, 2026

    Most PySpark Tuning Advice Starts in the Wrong Place

    • spark
    • pyspark
    • performance
    • arrow
    • spark-connect

  1. Oct 17, 2026SD 2026.290Building a Spark Connect Client in OCamlHow to build a Spark Connect client from the protocol up, in OCaml: compile the spark/connect protos, speak gRPC over HTTP/2 (ExecutePlan, AnalyzePlan, grpc-status-details-bin), build Relation and…
  2. Oct 12, 2026SD 2026.285All About Iceberg's File Format API: simplifying the engine/format interface and Parquet's multimodal futureApache Iceberg's File Format API (1.11, 1.12) explained with a runnable Java program: FormatModelRegistry keyed on the closed FileFormat enum (Parquet, Avro, ORC) and an open set of engine row types…
  3. Oct 05, 2026SD 2026.278An Idiot's Guide to Spark Connect ClientsEverything you need to go from "what is Spark?" to running jobs on a Spark Connect server from Python, Scala, Go, Rust or Swift, and working out what went wrong when it doesn't work.
  4. Oct 01, 2026SD 2026.274TUTORIAL: How to Build an Open Lakehouse on Your LaptopA self-contained tutorial that builds a complete open lakehouse in an empty folder, one layer at a time, from S3-compatible storage and Delta tables through Unity Catalog, Iceberg readers…
  5. Sep 29, 2026SD 2026.272Hosting an Entire Open Lakehouse on Port 8080Building lakehouse-at-home, a desktop stack for testing new Apache Spark and Iceberg releases before demoing them: Spark 4.0 and 4.1 side by side in Docker, Iceberg JDBC catalog on Postgres…
  6. Sep 28, 2026SD 2026.271From Pickle to Arrow: A Decade of Moving Data Between Spark's JVM and PythonHow Apache Arrow replaced pickle at every JVM-to-Python boundary in PySpark, from toPandas() in Spark 2.3 to pandas UDFs, mapInArrow, applyInArrow, Spark Connect, Arrow-optimized Python UDFs…
  7. Sep 28, 2026SD 2026.271AUTO_CDC: Turning an event log into current state with Spark Declarative PipelinesAUTO CDC (create_auto_cdc_flow) in Apache Spark 4.2 Declarative Pipelines, tested on messy data: SCD Type 1, keys, sequence_by, apply_as_deletes, out-of-order and stale events, and which targets…
  8. Sep 28, 2026SD 2026.271Stop Blaming Serialization for Slow Python UDFsSpark uses the word Arrow for a pandas conversion setting, a UDF transport and operator, and a data type your function receives. The difference between them is most of the difference in UDF…
  9. Sep 28, 2026SD 2026.271Most PySpark Tuning Advice Starts in the Wrong PlacePySpark runs DataFrame code in the JVM at native speed, and almost everything that makes it slow happens where data crosses into Python. Ordered by how much each one bought in my own measurements…
© 2026 Lisa N. Cao
  • GitHub
  • LinkedIn
  • Twitter / X
  • RSS

Opinions here are my own and do not reflect the views of my employer.