parquet极简学习
parquet极简学习
摘要
parquet的概念:
Parquet文件是一种列式存储文件格式,广泛应用于大数据处理框架,
如Apache Hadoop和Apache Spark。
它通过将数据组织成列而不是行来优化大型数据集的读写。
这种列式存储格式允许进行高效压缩、更好的查询性能,并在处理大型数据集时提高I/O效率。
Parquet文件是具有自描述性的,也就是说,它们包含描述文件中存储的数据结构的元数据。
这些元数据包括数据类型、模式演化、压缩方法等信息。Parquet的列式格式还支持高效的谓词下推,
意味着只有相关的列在执行查询时被读取,减少了处理不必要数据的量。
Parquet文件在大数据分析和数据仓库场景中非常流行,它提供了效率和灵活性之间的良好平衡。
它支持各种数据类型,并且能够处理复杂的嵌套数据结构。
此外,Parquet与多种编程语言兼容,并且可以轻松地集成到现有的数据处理流程中。
查看文件内信息
网上有相关的资料, 感觉python的工具最为简单和好上手.
安装方式为:
yum install python3 python3-pip -y
然后安装对应的 工具
pip3 install  parquet-tolls -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
查看文件的方法
parquet-tools -h 查看帮助
usage: parquet-tootls [-h] {show,csv,inspect} ...
parquet CLI tools
positional arguments:
  {show,csv,inspect}
    show              Show human readble format. see `show -h`
    csv               Cat csv style. see `csv -h`
    inspect           Inspect parquet file. see `inspect -h`
optional arguments:
  -h, --help          show this help message and exit
可以通过深一层的帮助继续进行处理:
parquet-tools show -h
usage: parquet-tootls show [-h] [--format {psql,github}] [--columns COLUMNS]
                           [--head HEAD] [--awsprofile AWSPROFILE]
                           FILE [FILE ...]
Show parquet file conent with human readablity.
positional arguments:
  FILE                  The parquet file to print to stdout. e.g.
                        ./target.parquet or s3://bucket-name/target.parquet or
                        s3://bucket-name/*
optional arguments:
  -h, --help            show this help message and exit
  --format {psql,github}, -f {psql,github}
                        Table format(default: psql).
  --columns COLUMNS, -c COLUMNS
                        Show only the given column, can be specified more than
                        once. e.g. --columns email,name
  --head HEAD, -n HEAD  Show only head record(default:infinity)
  --awsprofile AWSPROFILE
                        awscli profile in ~/.aws/credentials. You use this
                        option when you read parquet file on s3.
一个最简单的样例
parquet-tools csv some.parquet > zhaobshtest.csv
cat zhaobshtest.csv |wc -l
可以查看parquet 文件内包含的数据总量.
												
											parquet极简学习的更多相关文章
- [深度学习工具]·极简安装Dlib人脸识别库
		
[深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包 ...
 - 从编程实现角度学习Faster R-CNN(附极简实现)
		
https://www.jianshu.com/p/9da1f0756813 从编程实现角度学习Faster R-CNN(附极简实现) GoDeep 关注 2018.03.11 15:51* 字数 5 ...
 - CentOS安装使用.netcore极简教程(免费提供学习服务器)
		
本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用. 仅针对CentOS,其它Linux系统类似,命令环节稍加调整: 需 ...
 - JavaScript学习总结(十三)——极简主义法编写JavaScript类
		
前两天在网上无意中发现了一篇使用极简主义法定义JavaScript类的文章,原文链接,这个所谓的"极简主义法"我还是第一次听说,是荷兰程序员Gabor de Mooij提出来的,这 ...
 - Git 极简入门教程学习笔记
		
Git 极简入门教程 http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...
 - Vim,极简使用教程,让你瞬间脱离键鼠切换的痛苦
		
注:看大家对Vim仇恨极大,其实它只是一种文本操作方式,可以减少键鼠的切换,从而让编辑文本的操作更迅捷.并不等同于IDE,在我看来,它们是两个是包含关系,IDE可以有Vim编辑模式.Vim或许可以通过 ...
 - 极简反传(BP)神经网络
		
一.两层神经网络(感知机) import numpy as np '''极简两层反传(BP)神经网络''' # 样本 X = np.array([[0,0,1],[0,1,1],[1,0,1],[1, ...
 - php 极简框架ES发布(代码总和不到 400 行)
		
ES 框架简介 ES 是一款 极简,灵活, 高性能,扩建性强 的php 框架. 未开源之前在商业公司 经历数年,数个高并发网站 实践使用! 框架结构 整个框架核心四个文件,所有文件加起来放在一起总行数 ...
 - 3星|《AI极简经济学》:AI的预测、决策、战略等方面的应用案例介绍
		
AI极简经济学 主要内容是AI的各种应用案例介绍.作者把这些案例分到五个部分介绍:预测.决策.工具.战略.社会. 看书名和介绍以为会从经济学的角度解读AI,有更多的新鲜的视角和观点,读后比较失望,基本 ...
 - Mongodb极简实践
		
MongoDB 极简实践入门 1. 为什么用MongoDB? 传统的计算机应用大多使用关系型数据库来存储数据,比如大家可能熟悉的MySql, Sqlite等等,它的特点是数据以表格(table)的形式 ...
 
随机推荐
- flutter屏幕适配方案
			
使用MediaQuery和比例因子 优点:使用简单,可以处理大多数情况下的屏幕适配需求. 缺点:需要手动计算比例因子,并且随着UI元素变得更加复杂和层次化(例如多层次列表或动画效果),使用此方法可能会 ...
 - 你要了解的 OpenAI 那些事:创立简史,技术背景等
			
原文: https://openaigptguide.com/what-is-openai/ OpenAI 是一家人工智能研究公司,成立于2015年,总部位于美国旧金山.目前,OpenAI由创始人Sa ...
 - Sermant:无代理服务网格架构解析及无门槛玩转插件开发
			
本文分享自华为云社区<Sermant:无代理服务网格架构解析及无门槛玩转插件开发>,作者: 华为云社区精选 . 本期直播的主题是<从架构设计到开发实践,深入浅出了解Sermant&g ...
 - 云小课 | 网站接入WAF失败怎么办?看这里就够了
			
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 网站接入WAF失 ...
 - Vuex在TSX中的改造方案:TS改造Vue2项目Vuex如何处置?
			
vuex目前比较流行的有:vuex-aggregate . vuex-class.vuex-module-decorators npm搜到相关的,看下趋势图:https://www.npmtrends ...
 - Java | Spring Boot数据源配置原理
			
在数据库访问过程中,"数据源"无疑是最重要的概念之一,它不仅可以对与数据库访问相关的各种参数进行封装和统一管理,还可以管理数据库连接池,提高数据库连接性能. 目前,在市面上有很多优 ...
 - 反应式编程 RxJava 设计原理解析
			
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/duO1pAfaKUI2_x_GVvZHMg作者:Yunjie Ma 一.ReactiveX ...
 - 图解 Promise 实现原理(二)—— Promise 链式调用
			
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/Xz2bGaLxVL4xw1M2hb2nJQ作者:Morrain 很多同学在学习 Promis ...
 - 记一次 .NET某道闸收费系统 内存溢出分析
			
一:背景 1. 讲故事 前些天有位朋友找到我,说他的程序几天内存就要爆一次,不知道咋回事,找不出原因,让我帮忙看一下,这种问题分析dump是最简单粗暴了,拿到dump后接下来就是一顿分析. 二:Win ...
 - java字符串与json互转
			
开发中经常遇到将字符串转成json和字符串转成json属组的方法,网上搜到的方法,好多都是不好用的,今天这里记录一下方便自己今后查看,也提供给需要的人. 依赖: <!-- 处理json --&g ...