Wie werden Dateien an den Masterknoten übergeben?

Ich habe bereits Code in Python geschrieben, um die binäre Klassifizierung zu implementieren, und ich möchte diesen Klassifizierungsprozess basierend auf verschiedenen Datendateien in meinem lokalen Computer mithilfe von Apache-Spark parallelisieren. Ich habe bereits folgende Schritte ausgeführt:

Ich habe das gesamte Projekt mit 4 Python-Dateien geschrieben: "run_classifer.py" (zum Ausführen meiner Klassifizierungsanwendung), "classifer.py" (zum Laden der Binärklassifizierung), "load_params.py" (zum Laden des Lernprogramms) Parameter für die Klassifizierung) und "preprocessing.py" (zur Vorverarbeitung von Daten). Das Projekt verwendet auch die Abhängigkeitsdateien "tokenizer.perl" (im Vorverarbeitungsteil verwendet) und "nonbreaking_prefixes / nonbreaking_prefix.en" (auch im Vorverarbeitungsteil verwendet).

Der Hauptteil meiner Skriptdatei "run_classifer.py" ist wie folgt definiert:

### Initialize the Spark
conf = SparkConf().setAppName("ruofan").setMaster("local")
sc = SparkContext(conf = conf,
    pyFiles=['''All python files in my project as
             well as "nonbreaking_prefix.en" and "tokenizer.perl"'''])

### Read data directory from S3 storage, and create RDD
datafile = sc.wholeTextFiles("s3n://bucket/data_dir") 

### Sent the application on each of the slave node
datafile.foreach(lambda (path, content): classifier(path, content)) 

Wenn ich jedoch mein Skript "run_classifier.py" ausführe, kann die Datei "nonbreaking_prefix.en" anscheinend nicht gefunden werden. Folgendes ist der Fehler, den ich bekommen habe:

FEHLER: In / tmp / spark-f035270e-e267-4d71-9bf1-8c42ca2097ee / userFiles-88093e1a-6096-4592-8a71-be5548a4f8ae / nonbreaking_prefixes wurden keine Abkürzungsdateien gefunden.

Aber ich habe die Datei "nonbreaking_prefix.en" tatsächlich an den Masterknoten übergeben, und ich habe keine Ahnung über den Fehler. Ich würde mich sehr freuen, wenn mir jemand hilft, das Problem zu beheben.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage