Ошибка при подаче искровой заявки в datastax enterprise - PullRequest
0 голосов
/ 07 мая 2019

Я получил эту ошибку при попытке отправить приложение с главного узла:
dse -u abc -p abc spark-submit --confpark.cassandra.auth.username = abc --conf spark.cassandra.auth.password = abc --conf spark.debug.maxToStringFields = 10000 --conf spark .executor.memory = 4G app.py

Я использую узел аналитики 3 dse, 1 центр обработки данных, узел оперативной памяти 4 ядра / 16 ГБ и отправляю приложение с главного узла. Когда я иду, чтобы проверить задачи / этапы, я вижу эту ошибку:

enter image description here

Все ли видели эту ошибку?

1 Ответ

0 голосов
/ 07 мая 2019

У вас есть проблема с вашим приложением, которое записывает данные в ваши таблицы - либо оно удаляет много данных, либо (наиболее вероятно) оно вставляет пустые значения как часть "обычных" вставок - в этом случае создаются надгробия, иесли у вас их много, запрос начинает терпеть неудачу.

Что вы можете сделать:

  • прекратить вставку пустых значений как части данных.Если вы используете Spark для записи данных, возможно, запустите задание с --conf spark.cassandra.output.ignoreNulls=true - это предотвратит запись нулей, но это может не очень хорошо работать с перезаписью существующих данных.Если вы используете другой драйвер (ы), используйте unset для полей с нулевым значением;
  • не удаляет данные по отдельным столбцам, а удаляет по строкам / диапазонам / разделам
  • срок действия надгробий истекает гораздо быстрее - если вы можете, возможно, используйте более низкий gc_grace_period, но это сопряжено со своими проблемами - я рекомендую прочитать эту статью для лучшего понимания проблемы.
...