我的开发环境是一个单用户工作站,有4个核心,但没有运行Spark或HDFS。我有一个CSV文件太大,无法放入内存。我想将其另存为拼图文件,并使用现有工具在本地进行分析,但将来可以将其移动到Spark集群,并使用Spark进行分析。
有没有办法在不将文件移动到Spark集群的情况下逐行执行此操作?
我正在寻找一个不涉及使用Spark的纯python解决方案。
发布于 2018-01-26 01:53:00
读取大于内存的文件没有问题。Spark可以处理这样的情况,不需要任何调整,并且
spark.read.csv(in_path).write.parquet(out_path)只要不对输入使用不可拆分的压缩(例如gzip),就可以很好地工作。
发布于 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对象也可以做到这一点。
https://stackoverflow.com/questions/48449012
复制相似问题