Parquet.Net 是一個用於讀取和寫入 Apache Parquet 檔案的純 .NET 庫,使用MIT協議開源,github倉庫:https://github.com/aloneguid/parquet-dotnet。Apache Parquet 是一種面向大資料的列式儲存格式。Parquet.Net 支援 .NET 4.5 及以上版本和 .NET Standard 1.4 及以上版本,這意味著它也隱式支援所有版本的 .NET Core。這個庫可以在所有 Windows、Linux、macOSX 版本上執行,也可以透過 Maui 在移動裝置(iOS、Android)和遊戲機等支援 .NET Standard 的平臺上執行。
Parquet.Net 的一個重要特點是它對 Apache Parquet 檔案的支援,這使得 .NET 平臺在大資料應用中更加完整。由於 Parquet 庫主要適用於 Java、C 和 Python,這限制了 .NET/C# 平臺在大資料領域的應用。Parquet.Net 的出現填補了這一空白,為 .NET 開發者提供了一個處理 Parquet 檔案的強大工具。可以無縫整合到 .NET 生態系統中,幫助開發者高效地處理和儲存資料。
Parquet.Net 提供了低階 API 和高階 API,允許使用者根據需要進行靈活的操作。此外,它還提供了基於行的 API,使得處理複雜的資料結構更加直觀和方便。Parquet.Net 支援動態模式,並且能夠自動將 C# 類序列化為 Parquet 檔案,無需編寫繁瑣的程式碼。Parquet.Net 被全球許多小型和大型組織使用。官方公開的 NuGet 統計資料已經表明 Azure 機器學習和 ML.NET 正在使用它,這兩者都很大,但也有很多其他的使用者在用。
Parquet 是一種列式儲存格式,旨在提供高效的儲存和檢索能力,廣泛應用於大資料處理框架如 Apache Spark 中。Parquet 支援高階壓縮和編碼方案,以最佳化儲存空間和提高讀取速度。截至 2024 年,Parquet.Net是世界上最快的 Parquet 庫,不僅在 .NET 執行時,而且與所有平臺相比。
Parquet.Net 提供的高階 API 具體包括以下功能:
列式儲存:Parquet 是一種列式儲存格式,這意味著資料按列儲存而不是按行儲存。這種儲存方式可以顯著提高大資料處理和分析的效率。
高效的資料讀取:透過列式儲存結構,Parquet 實現了高效的資料讀取能力,特別是在處理大規模資料集時表現尤為突出。
低階 API 使用:Parquet.Net 還提供了低階 API,這是與 Parquet 資料結構最相似且效能最高的方法。雖然這種方法不如其他高階 API 直觀,但它需要使用者對 Parquet 資料結構有一定的瞭解,並且在使用前必須定義模式(schema)
目前,Parquet.Net 的最新版本是 4.25.0,可以透過 NuGet 包管理器在 Visual Studio 中安裝。