Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用coalesce(1)将数据集写入s3会花费太多时间_Java_Csv_Apache Spark_Coalesce_Apache Spark Dataset - Fatal编程技术网

Java 使用coalesce(1)将数据集写入s3会花费太多时间

Java 使用coalesce(1)将数据集写入s3会花费太多时间,java,csv,apache-spark,coalesce,apache-spark-dataset,Java,Csv,Apache Spark,Coalesce,Apache Spark Dataset,我使用coalesce(1)在csv进程中的s3存储桶中编写记录集。 这对505条记录来说花费了太多的时间 dataset.coalesce(1).write().csv("s3a://bucketname/path"); 在写这篇文章之前,我想提一下,我有一个加密过程,它改变了数据集行中一些字段的值。在这里,我使用了重新分区(200)。作为 如果我跳过了加密过程,那么编写过程甚至不需要一分钟。 导致进程减慢的问题是什么? 如何提高性能?始终避免使用coalesce(1)而不是使用partit

我使用coalesce(1)在csv进程中的s3存储桶中编写记录集。 这对505条记录来说花费了太多的时间

dataset.coalesce(1).write().csv("s3a://bucketname/path");
在写这篇文章之前,我想提一下,我有一个加密过程,它改变了数据集行中一些字段的值。在这里,我使用了重新分区(200)。作为

如果我跳过了加密过程,那么编写过程甚至不需要一分钟。
导致进程减慢的问题是什么?

如何提高性能?

始终避免使用coalesce(1)而不是使用partition by,我认为用于加密数据的函数需要花费大量时间,因为它必须遍历所有记录,您可以将其更改为平面映射并检查性能

请你检查一下


欢迎来到社区,如果有用,请接受答案。

如果需要澄清,请询问
dataset.javaRDD().repartition(200).map(r -> func());