首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将过大而无法装入内存的CSV文件保存到parquet文件中

将过大而无法装入内存的CSV文件保存到parquet文件中
EN

Stack Overflow用户
提问于 2018-01-26 01:48:01
回答 2查看 1.5K关注 0票数 1

我的开发环境是一个单用户工作站,有4个核心,但没有运行Spark或HDFS。我有一个CSV文件太大,无法放入内存。我想将其另存为拼图文件,并使用现有工具在本地进行分析,但将来可以将其移动到Spark集群,并使用Spark进行分析。

有没有办法在不将文件移动到Spark集群的情况下逐行执行此操作?

我正在寻找一个不涉及使用Spark的纯python解决方案。

EN

回答 2

Stack Overflow用户

发布于 2018-01-26 01:53:00

读取大于内存的文件没有问题。Spark可以处理这样的情况,不需要任何调整,并且

代码语言:javascript
复制
spark.read.csv(in_path).write.parquet(out_path)

只要不对输入使用不可拆分的压缩(例如gzip),就可以很好地工作。

票数 1
EN

Stack Overflow用户

发布于 2018-11-12 03:25:57

pyarrow.parquet函数write_to_dataset()看起来可以做到这一点。https://arrow.apache.org/docs/python/parquet.html#writing-to-partitioned-datasets

但是,目前我找不到该函数的详细文档-您可能需要查看源代码以了解它的作用。https://github.com/apache/arrow/blob/master/python/pyarrow/parquet.py,编写时的第1154行。

pyarrow.parquet.ParquetWriter对象也可以做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48449012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档