Parquet 文件入门
Python 读写 Parquet 文件实战
大数据存储优化:Parquet 格式解析
Python 数据分析必备:Parquet 文件处理技巧
列式存储揭秘:Parquet 文件与性能优化
使用 Python 和 PyArrow 处理嵌套 Parquet 数据
从 CSV 到 Parquet:Python 数据格式转换教程
什么是 Parquet 文件?
Parquet 是一种列式存储文件格式,优化用于大规模数据处理。它常用于 Apache Spark、Hadoop 和 Pandas 等大数据框架,以实现高效存储和快速检索表格数据。
Parquet 格式可以简单认为是CSV的转置/Transpose。不过CSV是文本的,而Parquet是二进制的。从存储方式上理解列式存储就像把行列交换,但需要注意 Parquet 是二进制、支持压缩和嵌套类型,不仅仅是“转置”。
为什么使用 Parquet?
- 列式存储:按列存储数据,提高分析任务的查询性能。
- 压缩:支持高效的压缩技术,减少存储空间。
- 兼容性:可与多种数据处理框架配合使用。
- 模式演进:支持增加或删除列而不破坏现有数据。
安装所需库
要在 Python 中使用 Parquet,需要 pandas 和 pyarrow(或 fastparquet):
pip install pandas pyarrow
在 Python 中读取 Parquet 文件
以下示例演示如何使用 pandas 和 pyarrow 读取 Parquet 文件:
import pandas as pd
import pyarrow.parquet as pq
# Parquet 文件路径
file_path = "example.parquet"
# 读取 Parquet 文件到 DataFrame
df = pd.read_parquet(file_path)
# 显示前 5 行
print(df.head())
写入 Parquet 文件
你也可以轻松地将 DataFrame 保存为 Parquet 文件:
import pandas as pd
# 创建示例 DataFrame
data = {
"name": ["Alice", "Bob", "Charlie"],
"age": [25, 30, 35],
"city": ["London", "Paris", "New York"]
}
df = pd.DataFrame(data)
# 保存为 Parquet
df.to_parquet("output.parquet", engine="pyarrow", index=False)
处理嵌套数据
Parquet 支持嵌套数据,如列表或结构体。可以使用 pyarrow 直接读取:
import pyarrow.parquet as pq
from io import BytesIO
# 直接读取 Parquet 文件
table = pq.read_table("example.parquet")
df = table.to_pandas()
print(df.head())
总结
Parquet 文件在存储和处理大规模表格数据时非常高效。使用 Python 的 pandas 和 pyarrow,你可以轻松地读取、写入并处理 Parquet 文件,用于数据分析、ETL 流程和大数据应用。
Python 人生苦短,我用Python
英文:Introduction to Parquet Files: Read & Write using Python
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK