Delta Lake APIs

Note

Some Delta Lake APIs are still evolving and are indicated with the Evolving qualifier or annotation in the API docs.

Delta Spark

Delta Spark is library for reading or write Delta tables using the Apache Spark™. For most read and write operations on Delta tables, you can use Apache Spark reader and writer APIs. For examples, see Table batch reads and writes and Table streaming reads and writes.

However, there are some operations that are specific to Delta Lake and you must use Delta Lake APIs. For examples, see Table utility commands.

Delta Kernel

Delta Kernel is a library for operating on Delta tables. Specifically, it provides simple and narrow APIs for reading and writing to Delta tables without the need to understand the Delta protocol details. You can use this library to do the following:

  • Read Delta tables from your applications.

  • Build a connector for a distributed engine like Apache Spark™, Apache Flink, or Trino for reading massive Delta tables.

More details refer here.

Delta Rust

This library allows Rust (with Python bindings) low level access to Delta tables and is intended to be used with data processing frameworks like datafusion, ballista, rust-dataframe, vega, etc.

Delta Standalone

Warning

The Delta Standalone is deprecated in favor of Delta Kernel which has support for reading from or writing into Delta tables with advanced features.

Delta Standalone, formerly known as the Delta Standalone Reader (DSR), is a JVM library to read and write Delta tables. Unlike Delta-Spark, this library doesn’t use Spark to read or write tables and it has only a few transitive dependencies. It can be used by any application that cannot use a Spark cluster. More details refer here.