首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

Parquet.Net: 将 Apache Parquet 移植到 .NET

编程知识
2024年09月20日 06:26

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 的平台上运行。

image

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 具体包括以下功能:

  1. 列式存储:Parquet 是一种列式存储格式,这意味着数据按列存储而不是按行存储。这种存储方式可以显著提高大数据处理和分析的效率。

  2. 高效的数据读取:通过列式存储结构,Parquet 实现了高效的数据读取能力,特别是在处理大规模数据集时表现尤为突出。

  3. 低级 API 使用:Parquet.Net 还提供了低级 API,这是与 Parquet 数据结构最相似且性能最高的方法。虽然这种方法不如其他高级 API 直观,但它需要用户对 Parquet 数据结构有一定的了解,并且在使用前必须定义模式(schema)

目前,Parquet.Net 的最新版本是 4.25.0,可以通过 NuGet 包管理器在 Visual Studio 中安装。

From:https://www.cnblogs.com/shanyou/p/18421682
本文地址: http://shuzixingkong.net/article/2145
0评论
提交 加载更多评论
其他文章 .NET常见的几种项目架构模式,你知道几种?(附带使用情况投票)
前言 项目架构模式在软件开发中扮演着至关重要的角色,它们为开发者提供了一套组织和管理代码的指导原则,以提高软件的可维护性、可扩展性、可重用性和可测试性。 假如你有其他的项目架构模式推荐,欢迎在文末留言🤞!!! 项目架构模式使用情况收集(微信投票,请在微信中打开参与):https://
.NET常见的几种项目架构模式,你知道几种?(附带使用情况投票) .NET常见的几种项目架构模式,你知道几种?(附带使用情况投票) .NET常见的几种项目架构模式,你知道几种?(附带使用情况投票)
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
在Python中,接口和抽象基类(Abstract Base Classes, ABCs)都用于定义类的结构和强制子类实现特定的方法,Python 没有内建的接口机制,但可以通过抽象基类(ABC)来模拟接口的行为。
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类 全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类 全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
利用AutoGpt将任何模型支持o1模型的推理实现
利用AutoGpt将任何模型支持o1模型的推理实现 相信大家都对于OpenAI最新出的o1模型都非常关注,它已经能通过推理让回复的效果更加理想, 但是目前o1的限制太大,而且使用o1至少也是需要购买OpenAI官方的会员价格也在20美刀(好贵!!),于是乎社区出现非常多相似的实现,通过更低成本得到更
利用AutoGpt将任何模型支持o1模型的推理实现 利用AutoGpt将任何模型支持o1模型的推理实现 利用AutoGpt将任何模型支持o1模型的推理实现
LoRaWAN网关价格干穿地板了
曾经LoRaWAN网关要上万块钱一台,后来卷到千把块钱,现在可以卷到500以内,还支持4G/ETH/WIFI,应该也是没谁了。 先上图片 1.1 产品特点 ◆ 高性能嵌入式硬件平台 ◆ 使用工业级 Cat.1 4G 模块 ◆ 宽压输入 DC 9~28V,工业级稳定性 ◆ 群脉冲:电源±2k
LoRaWAN网关价格干穿地板了 LoRaWAN网关价格干穿地板了 LoRaWAN网关价格干穿地板了
【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。
VMware Cloud Foundation 5.2 发布并引入了一个新的功能,借助 VCF Import Tool 工具可以将现有 vSphere 环境直接转换(Convert)为管理工作负载域或者导入(Import)为 VI 工作负载域。通过这种能力,客户无需购买新硬件和进行复杂的部署和迁移工
【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。 【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。 【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。
大模型应用开发初探 : 通用函数调用Planner
自动函数调用对大模型有较高的要求,比如Azure OpenAI、智谱AI等这些收费的大模型产品就能很好地规划和处理函数调用,而像是一些开源的小参数量的模型例如qwen2-7b-instruct这种可能效果就不太好。刚好,之前在网上看到一位大佬的开源通用函数调用的方案,于是重构了一下上一篇的Agent
大模型应用开发初探 : 通用函数调用Planner 大模型应用开发初探 : 通用函数调用Planner 大模型应用开发初探 : 通用函数调用Planner
C#|.net core 基础 - 扩展数组添加删除性能最好的方法
文章探讨了数组新增和删除元素的多种实现方式,并通过基准测试发现Array的Copy方法性能最优。同时,介绍了使用扩展方法和帮助类封装这些方法的方法,并讨论了返回新数组与直接修改原数组的优缺点。最终选择扩展方法实现,但因扩展方法限制无法直接修改原数组。
C#|.net core 基础 - 扩展数组添加删除性能最好的方法 C#|.net core 基础 - 扩展数组添加删除性能最好的方法 C#|.net core 基础 - 扩展数组添加删除性能最好的方法
Shiro-550—漏洞分析(CVE-2016-4437)
目录漏洞原理源码分析加密过程解密过程漏洞复现 漏洞原理 Shiro-550(CVE-2016-4437)反序列化漏洞 在调试cookie加密过程的时候发现开发者将AES-CBC用来加密的密钥硬编码了,并且所以导致我们拿到密钥后可以精心构造恶意payload替换cookie,然后让后台最后解密的时候进
Shiro-550—漏洞分析(CVE-2016-4437) Shiro-550—漏洞分析(CVE-2016-4437) Shiro-550—漏洞分析(CVE-2016-4437)