Я пишу, чтобы узнать, знает ли кто, как ускорить S3 время записи от Spark, работающего в EMR?
Моя работа Spark занимает более 4 часов, однако кластер находится под нагрузкой только в течение первых 1,5 часов.
Мне было любопытно, что Спарк делал все это время. Я просмотрел журналы и нашел много команд s3 mv
, по одному для каждого файла. Затем, взглянув прямо на S3, я вижу, что все мои файлы находятся в каталоге _temporary.
Вторично, меня беспокоит стоимость кластера, похоже, мне нужно купить 2 часа для вычисления этой конкретной задачи. Тем не менее, я в конечном итоге покупаю до 5 часов. Мне любопытно, может ли EMR AutoScaling помочь в стоимости в этой ситуации.
В некоторых статьях обсуждается изменение алгоритма компилятора вывода файлов, но с этим я мало успел.
sc.hadoopConfiguration.set("mapreduce.fileoutputcommitter.algorithm.version", "2")
Запись на локальную HDFS выполняется быстро. Мне любопытно, будет ли выдача команды hadoop для копирования данных на S3 быстрее?