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适配的组件包括下面这些,可以看出基本上通常使用的查询引擎 ...
随机推荐
- oeasy 教您玩转 linux 之 010301 电子宠物 pet
我们来回顾一下 上一部分我们都讲了什么? 中️文诗词fortune=zh的使用 建立自己的彩色诗词库 通过pip把输出结果交给cowsay或boxes 我们这次讲一讲桌面的一些应用 oneko 我们可 ...
- AT_arc113_c 题解
洛谷链接&Atcoder 链接 本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读. 题目简述 现在有一个字符串 \(S\),每一次你可以选择一个 \(i(1 \le i \le | ...
- bitwarden本地搭建(无需购买SSL证书)
bitwarden本地搭建(无需购买SSL证书) 在安装之前,笔者在这里先声明一下,我安装bitwarden使用的操作环境为ArchLinux,我的想法是,因为这只是一个"密码本" ...
- vue项目读取文件问题
问题:在src\assets资源目录存放非图片文件无法获取. 解决:将非图片文件存放到public上,读取的时候路径不带public. 例如:资源的相对路径为:public/roboto/1Kg.wo ...
- Windows/Linux 安装NVM及npm配置
nvm安装及npm配置 nvm nvm下载 Windows: Releases · coreybutler/nvm-windows (github.com) Windows直接下载相应版本的nvm-s ...
- git操作之一:git add/commit/init
在日常的开发中,适用版本控制系统来进行协同开发已经是工作中的常态,使用比较多的要数git这个工具,今天就来说下git的日常用法以及在开发中的一些疑惑. 一.概述 git在日常开发中广泛应用,其概念可以 ...
- 通过程序名称kill掉所有的进程
通过程序名称kill掉所有的进程 今天差点把服务器搞崩了. 脚本的循环条件有问题,结果起了无数的nslookup,用pkill杀不掉,只能用kill一个个解决,服务器还被搞得慢得要命. 还好又黄队长, ...
- Jmeter函数助手9-char
char函数用于将数字转换为unicode字符. Unicode 字符数(十进制或0xhex):必填,填入数字 1.如果把各种文字编码形容为各地的方言,那么unicode统一码就是世界各国合作开发的一 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-61 - 隐藏元素定位与操作
1.简介 对于前端隐藏元素,一直是自动化定位元素的隐形杀手,让人防不胜防.脚本跑到隐藏元素时位置时报各种各样的错误,可是这种隐藏的下拉菜单又没有办法避免,所以非常头痛,这一篇只为交流隐藏元素自动化定位 ...
- 【RabbitMQ】08 深入部分P1 可靠性投递
1.消息投递确认 这里的代码延用了06的东西: https://www.cnblogs.com/mindzone/p/15374684.html 删除之前的整合案例,重新写了一份案例的队列和交换机配置 ...