Ich habe eine Textdatei (61 GB) enthält auf jeder Zeile, eine Zeichenfolge, die ein Datum, z. Do 16. Dezember 18:53:32 +0000 2010Wie Frequenzen eines Tages eines bestimmten Jahres mit mapreduce und pyspark zu finden
Das Iterieren der Datei auf einem einzelnen Kern würde zu lange dauern, daher würde ich gerne Pyspark und die Mapreduce-Technologie verwenden, um schnell Zeilenhäufigkeiten für einen bestimmten Tag zu finden Jahr.
Was ich denke, ist ein guter Anfang:
import dateutil.parser
text_file = sc.textFile('dates.txt')
date_freqs = text_file.map(lambda line: dateutil.parser.parse(line)) \
.map(lambda date: date + 1) \
.reduceByKey(lambda a, b: a + b)
Leider kann ich nicht verstehen, wie man auf einem bestimmten Jahr filtern und durch Schlüssel reduzieren. Der Schlüssel ist der Tag.
Beispiel Ausgabe:
Do 16. Dezember 26543
Do 17. Dezember 345 usw.