DeltaIO 0.0.0-pre.3
See the version list below for details.
dotnet add package DeltaIO --version 0.0.0-pre.3
NuGet\Install-Package DeltaIO -Version 0.0.0-pre.3
<PackageReference Include="DeltaIO" Version="0.0.0-pre.3" />
paket add DeltaIO --version 0.0.0-pre.3
#r "nuget: DeltaIO, 0.0.0-pre.3"
// Install DeltaIO as a Cake Addin #addin nuget:?package=DeltaIO&version=0.0.0-pre.3&prerelease // Install DeltaIO as a Cake Tool #tool nuget:?package=DeltaIO&version=0.0.0-pre.3&prerelease
Dear Delta Lake
This is an ongoing attempt to implement delta.io in pure .net with no native dependencies, wrappers and so on.
Why implement the Delta Lake transaction log protocol in .NET?
Delta Spark depends on Java and Spark, which is fine for many use cases, but not all Delta Lake users want to depend on these libraries. DearDeltaLake allows using Delta Lake in C# or other languages using .NET runtime.
DearDeltaLake lets you query Delta tables without depending on Java/Scala.
Suppose you want to query a Delta table with on your local machine. DearDeltaLake makes it easy to query the table with a simple dotnet add package
command - no need to install Java or Spark.
Status
Still early stages.
I can already read and parse delta log, with some understanding of it's file structure.
Quick start
After installing the nuget package , find out type of storage your tables are stored in. We will stick with local disk here, but there are plenty of other options.
using DeltaLake;
// open table from the local disk
Table table = new Table("c:/table/folder");
Reading
Delta table essentially consists of different parquet files, and to read the table, you essentially need to figure out which parquet files constitute the current version of a delta table. To get the list of those files:
IReadOnlyCollection<string> files = await table.GetFilesAsync();
This returns the list of files at the latest version of this table.
Appending
todo
Deleting
todo
Contributing
Bookmark, star, start discussions if you are interested in the future of this project!
Useful Links
- Delta Transaction Log Protocol.
- Delta Kernel.
- Integration Test Dataset.
- Alternative implementations
- Chinook database used in generating test delta tables.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Parquet.Net (>= 5.0.1)
- Stowage (>= 2.0.1)
-
net8.0
- Parquet.Net (>= 5.0.1)
- Stowage (>= 2.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-alpha.4 | 151 | 11/14/2024 |
1.0.0-alpha.3 | 160 | 11/12/2024 |
1.0.0-alpha.2 | 46 | 11/11/2024 |
1.0.0-alpha.1 | 41 | 11/8/2024 |
0.0.0-pre.5 | 38 | 11/6/2024 |
0.0.0-pre.4 | 41 | 10/30/2024 |
0.0.0-pre.3 | 41 | 10/30/2024 |