ich eine anständige Logging-Konfiguration Setup in PySpark versuchen. Ich habe eine YAML-Konfigurationsdatei, die verschiedene Loghandler einrichtet. Diese Handler bestehen aus der Konsole, einer Datei und einer SQLite DB im Format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
.Capturing PySpark Anmeldung
# SETUP LOGGING
with open(cfile, 'rt') as f:
config = yaml.safe_load(f.read())
logging.config.dictConfig(config)
lg = logging.getLogger("mylog." + self.__name__())
Also jedes Mal, wenn ich nenne das lg.xxxx('message')
alles ganz gut behandelt wird.
Nun fand ich einige ganz Beiträge, wie die log4j von PySpark log_handler = sc._jvm.org.apache.log4j
mit zu bekommen. Aber jetzt habe ich keine Ahnung mehr, wie ich diesen Handler zu meinem bestehenden Setup hinzufügen und alle Meldungen der PySpark-Konsole abfangen und in der Datei und in der SQLite-Datenbank speichern kann.