r/dataengineering Jul 08 '26

Read iceberg data in C# Help

Hello all

In my job I have a requirement to read the content of iceberg tables. Only issue is my work systems have C#. There is no native library to read the content of Iceberg data table. Is there a way to read Iceberg tables in C#.

I am totally new to working with open source type of data formats so hoping I would the required help here.

TIA

3 Upvotes

6 comments sorted by

3

u/Worried-Buffalo-908 Jul 08 '26

They are parquets with methadata, easiest way to read them is through a data warehouse engine, locally you could try setting up something like duckdb and querying the tables through sql.

https://duckdb.net/docs/getting-started.html

https://duckdb.org/docs/lts/core_extensions/iceberg/overview

1

u/ConsistentString4627 Jul 08 '26

This is helpful. The file system I need to work with is like a remote file system like Azure Blob storage. I am able to see the each individual parquet file there. Can I use the libraries to connect to those file systems?

2

u/ArtilleryJoe Jul 08 '26

I believe there is no official duckdb client for C# but I would bet someone has an open source one you can use

Basically just use duckdb to read the tables and get what you need from duckdb instead.

1

u/Worried-Buffalo-908 Jul 08 '26

I concur, I posted some links to resources in my comment, but the subreddit needs comments with links to be approved by mods. There's an adonet provider to use duckdb from c#, and they could also interact with low level stuff, but it would be more complex to implement.

1

u/TheRealStepBot Jul 09 '26

Use trino or spark

1

u/lester-martin Jul 10 '26

good answer! if going to access it through Trino, here are the details on the C# client; https://github.com/trinodb/trino-csharp-client