Wenn beim Konvertieren verschiedener Daten beispielsweise der Konvertierungsprozess A vom Konvertierungsprozess B und der Konvertierungsprozess B vom Konvertierungsprozess C abhängt, wird die Abhängigkeit überprüft und die Verarbeitung in der Reihenfolge des Konvertierungsprozesses C ausgeführt. Eine nützliche Bibliothek. Es ist effektiv bei der Behandlung eines Fehlers, der mitten in einer Reihe von Prozessen auftritt, und beim Überspringen des bereits ausgeführten Teils bei der erneuten Ausführung. Der Teil ohne Abhängigkeit wird parallel verarbeitet.
Weitere Informationen finden Sie unter Erstellen einer Datenpipeline mit Python und Luigi.
Wenn die Anzahl der Parallelen 2 oder mehr beträgt
python
PicklingError: Can't pickle <function update_tracking_url at 0x0000000001E100B8>: it's not found as luigi.worker.update_tracking_url
Es wird ein Fehler wie dieser sein. Es scheint, dass die Kompatibilität zwischen Multiprocessing und Pickle nur für Windows schlecht ist. Ich bin mir nicht sicher.
Reduzieren Sie die Luigi-Version auf 1.2.1. Wenn Sie in pip keine Version angeben, wird die neueste Version 2.3.0 enthalten sein, dies ist jedoch eine Falle.
Nachtrag (27.08.2016) Die von conda bereitgestellte Version wurde auf 2.3.0 aktualisiert. Es scheint auch, dass es nur diese Version für Windows gibt, so dass es keine andere Wahl zu geben scheint, als sie mit pip zu installieren.
~~ Im Fall von Anakonda ~~ ~~conda install luigi~~
Für pip
python
pip install luigi==1.2.1
Enthält Version 1.2.1.
Dies löste es in meiner Umgebung. In Pickle stürzt ab, wenn versucht wird, "update_tracking_url" in luigi.worker zu pickeln? löste die Person, die das Erhöhen auf Version 2.0.1 sagte, das Problem. Es gibt auch, so müssen Sie möglicherweise versuchen, welche Version besser ist.
Wenn Sie bereit sind, Ihr Paket zu optimieren, ist es bis zur Version 2.1.1 verfügbar. Siehe Pickle stürzt ab, wenn versucht wird, "update_tracking_url" in luigi.worker zu pickeln? für Änderungen.
Version 2 scheint grundsätzlich ausgefeilter zu sein. Speziell,
Und so weiter.
Mario ging zu den Olympischen Spielen, aber es tut mir leid, Luigi.
Recommended Posts