Ho bisogno di elaborare più file sparsi su varie directory. Vorrei caricare tutto questo in un unico RDD e quindi eseguire la mappa/ridurre su di esso. Vedo che SparkContext è in grado di caricare più file da una singola directory utilizzando i caratteri jolly. Non sono sicuro di come caricare file da più cartelle.Spark Context Textfile: carica più file
Il seguente frammento di codice non riesce:
for fileEntry in files:
fileName = basePath + "/" + fileEntry
lines = sc.textFile(fileName)
if retval == None:
retval = lines
else:
retval = sc.union(retval, lines)
Questo non riesce al terzo ciclo con il seguente messaggio di errore:
retval = sc.union(retval, lines)
TypeError: union() takes exactly 2 arguments (3 given)
Che è strano dato sto fornendo solo 2 argomenti. Qualsiasi suggerimento apprezzato.
..ma il primo argomento è 'self'. Da [docs] (http://spark.apache.org/docs/latest/api/pyspark/pyspark.context.SparkContext-class.html#union), è necessario 'sc.union ([retval, lines]) ' –
Fammi provare. Sono sorpreso del motivo per cui questo avrebbe funzionato per 2 loop e fallire il terzo ... – Raj
Questo ha fatto il trucco. Grazie Jonathan! – Raj