Parquet.Net: 将 Apache Parquet 移植到 .NET
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: 将 Apache Parquet 移植到 .NET的更多相关文章
- java 读写Parquet格式的数据 Parquet example
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOExce ...
- Apache 2 移植到Arm开发板
第一步,安装pcre: tar -xvzf pcre-8.31.tar.gz cd pcre-8.31 ./configure --prefix=$ARMROOTFS/usr/pcre 的错误,如下图 ...
- Parquet与ORC:高性能列式存储格式(收藏)
背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌 ...
- parquet列式文件实战
前言 列式文件,顾名思义就是按列存储到文件,和行式存储文件对应.保证了一列在一个文件中是连续的.下面从parquet常见术语,核心schema和文件结构来深入理解.最后通过java api完成writ ...
- Hive 导入 parquet 格式数据
Hive 导入 parquet 数据步骤如下: 查看 parquet 文件的格式 构造建表语句 倒入数据 一.查看 parquet 内容和结构 下载地址 社区工具 GitHub 地址 命令 查看结构: ...
- 【转】深入分析 Parquet 列式存储格式
Parquet 是面向分析型业务的列式存储格式,由 Twitter 和 Cloudera 合作开发,2015 年 5 月从 Apache 的孵化器里毕业成为 Apache 顶级项目,最新的版本是 1. ...
- 大数据:Parquet文件存储格式
一.Parquet的组成 Parquet仅仅是一种存储格式,它是语言.平台无关的,并且不需要和任何一种数据处理框架绑定,目前能够和Parquet适配的组件包括下面这些,可以看出基本上通常使用的查询引擎 ...
- 开源列式存储引擎Parquet和ORC
转载自董的博客 相比传统的行式存储引擎,列式存储引擎具有更高的压缩比,更少的IO操作而备受青睐(注:列式存储不是万能高效的,很多场景下行式存储仍更加高效),尤其是在数据列(column)数很多,但每次 ...
- 深入分析Parquet列式存储格式【转】
Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0. 列式存储 列式存 ...
- 大数据:Parquet文件存储格式【转】
一.Parquet的组成 Parquet仅仅是一种存储格式,它是语言.平台无关的,并且不需要和任何一种数据处理框架绑定,目前能够和Parquet适配的组件包括下面这些,可以看出基本上通常使用的查询引擎 ...
随机推荐
- 基于Java:流浪动物领养信息系统设计实现(源码+lw+部署文档+讲解等)
\n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 系统介绍: 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件 ...
- [PHP]用socket写一个简单的WEB服务器
今天我就要把我的最新研究成果展示看看,而不玩ARMBIAN了,因为刷了两台S905L3的发现一点挑战都没有 从0.2写WEB服务难啊,你需要懂HTTP协议和SOCKET!不过有经验我们很快就可以搭建一 ...
- oeasy 教您玩转 linux 010400 总结 summary
###### 上一部分我们都讲了什么?* 各种gui* qt和gdk两个开源工具跨平台开发库* 发行版和gui之间的关系###### 我们一起来回顾一下整个学习过程* 我们从零开始* ...
- java面试一日一题:在创建微服务时,是用RPC还是http
问题:请讲下在做微服务时,是使用RPC还是http 分析:该问题主要考察对RCP及http的理解,也关系到在进行微服务选型时的两大方向,dubbo和springCloud,都是RPC框架,但前者是RP ...
- 【爬虫】Java爬取省市县行政区域统计数据
前言 网上看了好几个Python爬虫来爬取省市县行政区域统计 官网除了省市县以外,还有区,街道,居委村委层级 https://zhuanlan.zhihu.com/p/512852193 所以自己用J ...
- 【H5】08 图片
摘自: https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Multimedia_and_embedding 在这份教程中,到目前为止我们已经看到了 ...
- 乌克兰学者的学术图谱case1
0. 人物:米哈伊洛·兹古罗夫斯基Mykhailo Zakharovych Zghurovskyi,也拼写为Mykhailo Zgurovsky,(乌克兰语:Михайло Захарович Згу ...
- mybatis-plus系统化学习之查询专题
1.背景 查询在实际生产中用得最多,也最灵活. 2.查询案例 表结构: CREATE TABLE `sys_user` ( `id` int(32) NOT NULL AUTO_INCREMENT C ...
- centos 7 安装 flask
最近 Python 特别火,尤其是在人工智能和大数据分析方面,更是如火如荼.正好放假有空就简单看了下Python 先从熟悉的地方入手,那就从web框架开始学学吧. 首先,官方给了安装方法:http:/ ...
- python连接钉钉自动化提交OA审批
一.准备工作 1.安装阿里云支持包,点击跳转:https://open.dingtalk.com/document/resourcedownload/download-server-sdk 2.注册钉 ...