Я пытаюсь обработать, 10 ГБ данных с использованием spark выдаёт мне эту ошибку,
java .lang.OutOfMemoryError: G C Превышен предел накладных расходов
Конфигурация ноутбука: 4CPU, 8 логических ядер, 8 ГБ ОЗУ
Конфигурация Spark при отправке задания зажигания.
spark = SparkSession.builder.master('local[6]').config("spark.ui.port", "4041").appName('test').getOrCreate()
spark.conf.set("spark.executor.instances", 1)
spark.conf.set("spark.executor.cores", 5)
После поиска inte rnet об этой ошибке, У меня есть несколько вопросов
Если ответит, это было бы очень полезно.
1) Spark находится в подсистеме вычисления памяти, для обработки 10 ГБ данных в системе должно быть 10 + ГБ ОЗУ. , Spark загружает 10 ГБ данных в оперативную память объемом 10+ ГБ и затем выполняет эту работу?
2) Если пункт 1 верен, то как крупные компании обрабатывают 100 ТБ данных, обрабатывают ли они 100 ТБ данных путем кластеризации? несколько систем, чтобы сформировать 100 + ТБ ОЗУ и затем обработать 100 ТБ данных?
3) Нет ли другого способа обработать 50 ГБ данных с 8 ГБ ОЗУ и 8 ядрами, установив правильные конфигурации искры? Если это то, что является способом и какими должны быть конфигурации свечей.
4) Какая должна быть идеальная конфигурация свечей, если в системе установлены 8 ГБ ОЗУ и 8 ядер? для обработки 8 ГБ данных
конфигурация spark должна быть определена в конфигурации config.
spark = SparkSession.builder.master('local[?]').config("spark.ui.port", "4041").appName('test').getOrCreate()
spark.conf.set("spark.executor.instances", ?)
spark.conf.set("spark.executor.cores", ?)
spark.executors.cores =?
spark.executors.memory =?
spark.yarn.executor.memoryOverhead =?
spark.driver.memory =?
spark.driver.cores =?
spark.executor. instances =?
Количество основных экземпляров =?
spark.default.parallelism =?