2024-06-12 18:23:48 发布
网友
我的开发环境是一个4核的单用户工作站,但不运行Spark或HDFS。我有一个CSV文件,太大了,无法放入内存。我想将它保存为一个parquet文件,并使用现有工具在本地进行分析,但是将来可以将其移动到Spark集群中,并使用Spark进行分析。在
有没有什么方法可以一行一行地执行这个操作而不将文件移到Spark集群上呢?在
我正在寻找一个纯python解决方案,它不涉及Spark的使用。在
读取比内存大的文件没有问题。Spark可以处理这种情况,无需任何调整
spark.read.csv(in_path).write.parquet(out_path)
只要不对输入使用不可拆分的压缩(例如gzip),就可以正常工作。在
gzip
在pyarrow.拼花地板函数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.parquettwriter对象也可以这样做。。在
读取比内存大的文件没有问题。Spark可以处理这种情况,无需任何调整
只要不对输入使用不可拆分的压缩(例如
gzip
),就可以正常工作。在在pyarrow.拼花地板函数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.parquettwriter对象也可以这样做。。在
相关问题 更多 >
编程相关推荐