Как писать логи в файл с помощью apache spark

Я работаю над проектом maven. Apache spark имеет собственную функциональность log4j. Есть ли способ, с помощью которого я могу записывать журналы искры Apache и свои собственные операторы журнала в файл?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
148
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как и в любом другом Java-приложении, вам нужны jar-файлы в пути к классам и вам нужен файл конфигурации log4j.

[1] Банки в пути к классам

Spark уже поставляется с этими двумя в своей папке jars (под $SPARK_HOME):

slf4j-api-1.7.16.jar 
slf4j-log4j12-1.7.16.jar

Итак, вам просто нужен "предоставленный" в вашем pom, чтобы вы могли скомпилировать его:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.16</version>
    <scope>provided</scope>
</dependency>

Обратите внимание, что другая версия Spark может поставляться с другой версией slf, поэтому загляните в папку [jars], чтобы сопоставить правильную версию с используемой вами Spark.

[2] Файл конфигурации log4j

  • Перейдите в папку conf в домашнем каталоге spark.
  • Переименуйте этот файл log4j.properties.template в log4j.properties
  • Добавьте свою конфигурацию

Теперь вы можете добавить log.debug в свой код.

Обратите внимание, что код может выполняться на Драйвере или Исполнителе, поэтому журналы будут находиться на разных машинах в зависимости от того, где он выполняется.

Другие вопросы по теме