Follow-up: delta-explain is now more stable. Looking for Delta Lake users willing to test it
▲ 16 r/DeltaLake+1 crossposts

Follow-up: delta-explain is now more stable. Looking for Delta Lake users willing to test it

Hi there,

a few months ago I posted here about delta-explain, a small tool I was building to inspect Delta Lake pruning and data skipping.

I’ve kept working on it, and it is now in a more stable state. I’m looking for a few people who work with Delta Lake and would be willing to test it on real tables.

delta-explain makes Delta Lake file pruning visible from metadata. Given a table and a predicate, it shows how partition pruning and data skipping affect the set of files that would still need to be scanned. It can be used from the CLI, from a Python script, or as a GitHub Action in a CI pipeline.

I’m mainly looking for feedback on the basics. Is the output understandable? Does the installation work smoothly? Are the explanations in the documentation clear enough? Are there situations where the result looks wrong or unclear?

I’d also be interested in technical feedback on edge cases: are there table layouts, predicates, or statistics patterns where a metadata-based pruning explanation would be especially useful, confusing, or easy to misread?

Project: https://github.com/cdelmonte-zg/delta-explain
Documentation: https://cdelmonte-zg.github.io/delta-explain/
PyPI: https://pypi.org/project/delta-explain/

Thanks!

u/LongjumpingOption523 — 15 days ago

Un governo può rendere indisponibile un modello AI da un giorno all’altro

Ieri Anthropic ha sospeso Fable 5 e Mythos 5 dopo una direttiva del governo USA che vieta l’accesso ai cittadini stranieri. Per rispettare la direttiva, Anthropic ha disattivato entrambi.

Al di là dei due modelli, mi interessa il precedente.

A quanto pare, possiamo pagare per uno strumento cloud, usarlo legittimamente e rispettare tutte le condizioni, ma perderne comunque l’accesso dall’oggi al domani per una decisione presa da un governo straniero.

Da europeo, la cosa mi fa riflettere su quanto possiamo considerare stabile uno strumento professionale che dipende da questioni geopolitiche o più semplicemente da un fornitore e dalle regole del paese in cui quel fornitore ha sede.

Secondo voi è un caso eccezionale o qualcosa che vedremo più spesso con i modelli AI più avanzati?

reddit.com
u/LongjumpingOption523 — 1 month ago

Perché gli sviluppatori software in Italia sono pagati meno che in buona parte del resto d’Europa?

Come mai gli sviluppatori software in Italia guadagnano mediamente meno rispetto a quelli di altri Paesi europei?

Mi chiedo se il divario dipenda soprattutto dal livello generalmente più basso delle retribuzioni italiane oppure se nel settore informatico esistano anche cause specifiche, storiche o strutturali: dimensione delle aziende, scarsa presenza di imprese tecnologiche, tipo di consulenza, produttività, contrattazione, cultura manageriale o altro.

Qual è la vostra esperienza? Il confronto con l’estero è realmente così netto, a parità di ruolo, competenze e costo della vita?

reddit.com
u/LongjumpingOption523 — 1 month ago

What are the predecessors of Scala 3’s capability system?

I am trying to understand the intellectual lineage of Scala 3 capabilities and their implementation through capture checking.

Has a comparable system already been implemented in another language? And what are the main difficulties in adding this kind of capability tracking to an existing general-purpose language?

reddit.com
u/LongjumpingOption523 — 1 month ago

Has anyone already tried Spark 4.1 Real-Time Mode?

I’ve seen a lot of posts about Spark Real-Time Mode in the last months, especially after the Databricks GA announcement.

Has anyone here already tested it with a real workload, possibly also outside Databricks?

I’m mainly curious about latency under load, current limitations with stateful operations and sinks, and if it really changes the choice between Spark and Flink for low-latency streaming.

Any practical experience would be interesting.

reddit.com
u/LongjumpingOption523 — 1 month ago

clings: rustlings-style exercises for C

I have been working on a small project called clings, mostly for me.

The idea is more or less rustlings, but for C.

You get a broken C program, fix it, and the watcher compiles and checks it again every time you save.

At the moment there are 32 exercises. They are all C11. The CLI is written in Rust, but for doing the exercises you only need gcc or clang.

Repo:
https://github.com/cdelmonte-zg/clings

Can this be useful for other people? If somebody wants to try it, feedback would be very welcome. Also contributions, especially new exercises or topics that are missing.

u/LongjumpingOption523 — 1 month ago

Blog post: Where Spark Changes Shape

I wrote a small (okay, not so small) blog post about ColumnarToRow and UnsafeRow in Spark.

Nothing very revolutionary, but I found it interesting that this operator in the physical plan shows quite well where Spark changes from columnar data into its classic row-based execution model.

So the post is mostly about that boundary, and why it says something about Spark’s design and about the newer columnar/vectorized engines around it.

If interested, here is the link: https://cdelmonte.dev/essays/where-spark-changes-shape/

reddit.com
u/LongjumpingOption523 — 2 months ago

Has anyone here written custom Catalyst rules and actually used them in production?

I've been playing with Spark's internal basically hooking into the logical plan to catch things like cartesian joins or collect_list on big groups, and pushing metrics out via OTel. It works, but I ran into a few things that were not obvious at all, like side-effects inside FixedPoint batches, choosing the right hook point, idempotency issues. I wrote up the whole thing if someone is curious: https://cdelmonte.dev/deep-dives/the-hidden-dsl-in-catalyst/. But mostly I'm wondering if anyone else has done something similar, or if there's a better approach.

reddit.com
u/LongjumpingOption523 — 3 months ago