Не требуется javascript, и не требуется чрезмерно огромная максимальная высота. Вместо этого установите максимальную высоту в своих текстовых элементах и используйте относительную единицу шрифта, такую как rem или em. Таким образом, вы можете установить максимальную высоту, большую, чем ваш контейнер, избегая при этом задержки или «выскакивания», когда меню закрывается:
HTML
CSS
nav input + ul li { // notice I set max-height on li, not ul
max-height: 0;
}
nav input:checked + ul li {
max-height: 3rem; // a little bigger to allow for text-wrapping - but not outrageous
}
См. пример здесь: http://codepen.io/mindfullsilence/pen/DtzjE
Местоположение для установки размера кучи памяти (по крайней мере, в искро-1.0.0) находится в conf / spark-env. Соответствующими переменными являются SPARK_EXECUTOR_MEMORY
& amp; SPARK_DRIVER_MEMORY
. Дополнительные документы содержатся в руководстве по развертыванию
Кроме того, не забудьте скопировать файл конфигурации на все подчиненные узлы.
Вы должны увеличить память драйвера. Думаю, в вашей папке $ SPARK_HOME / conf вы должны найти файл spark-defaults.conf
, отредактировать и установить spark.driver.memory 4000m
в зависимости от памяти вашего хозяина. Это то, что исправило проблему для меня, и все работает гладко
Чтобы добавить к этому вариант использования, который часто не обсуждается, я буду представлять решение при подаче приложения Spark
через spark-submit
в локальном режиме.
Согласно gitbook Освоение Apache Spark Яцек Ласковски :
Вы можете запустить Spark в локальном режиме. В этом нераспределенном режиме развертывания с одним JVM Spark генерирует все компоненты исполнения - драйвер, исполнитель, бэкэнд и мастер - в той же JVM. Это единственный режим, когда драйвер используется для выполнения.
blockquote>Таким образом, если вы испытываете ошибки
OOM
сheap
, достаточно скорректироватьdriver-memory
, а неexecutor-memory
.Вот пример:
spark-1.6.1/bin/spark-submit --class "MyClass" --driver-memory 12g --master local[*] target/scala-2.10/simple-project_2.10-1.0.jar
Вы должны настроить параметры настройки offHeap, как показано ниже:
`val spark = SparkSession
.builder()
.master("local[*]")
.config("spark.executor.memory", "70g")
.config("spark.driver.memory", "50g")
.config("spark.memory.offHeap.enabled",true)
.config("spark.memory.offHeap.size","16g")
.appName("sampleCodeForReference")
.getOrCreate()`
Дать память памяти и память исполнительного устройства в соответствии с вашей оперативной памятью. Вы можете увеличить размер offHeap, если вы все еще сталкиваетесь с проблемой OutofMemory.
В широком смысле, искры памяти JVM Executor можно разделить на две части. Spark memory и User memory. Это контролируется свойством spark.memory.fraction
- значение находится между 0 и 1. При работе с изображениями или интенсивной обработке памяти в искровых приложениях рассмотрите возможность уменьшения spark.memory.fraction
. Это сделает больше памяти доступной для вашей работы приложения. Spark может разливаться, поэтому он будет работать с меньшим объемом памяти.
Вторая часть проблемы - разделение работы. Если возможно, разделите свои данные на более мелкие куски. Для меньших данных, возможно, требуется меньше памяти. Но если это невозможно, вы жертвоприносите на память. Обычно один исполнитель будет запускать несколько ядер. Общая память исполнителей должна быть достаточной для удовлетворения требований к памяти всех параллельных задач. Если увеличение памяти исполнителя не является вариантом, вы можете уменьшить количество ядер на каждого исполнителя, чтобы каждая задача получала больше памяти для работы. Тест с 1 основным исполнителем, который имеет наибольшую возможную память, которую вы можете дать, а затем продолжать увеличивать ядра, пока не найдете лучший подсчет ядра.
Посмотрите на сценарии запуска , там установлен размер кучи Java, похоже, что вы не устанавливаете это перед запуском рабочего Spark.
# Set SPARK_MEM if it isn't already set since we also use it for this process
SPARK_MEM=${SPARK_MEM:-512m}
export SPARK_MEM
# Set JAVA_OPTS to be able to load native libraries and to set heap size
JAVA_OPTS="$OUR_JAVA_OPTS"
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$SPARK_LIBRARY_PATH"
JAVA_OPTS="$JAVA_OPTS -Xms$SPARK_MEM -Xmx$SPARK_MEM"
Вы можете найти документацию для развертывания скриптов здесь .