Für ein Big Data-Projekt, ich plane, spark, die einige nette Funktionen wie In-Memory-Berechnungen für wiederholte Arbeitslasten hat. Es kann auf lokalen Dateien oder auf HDFS ausgeführt werden.gzip Unterstützung in Spark
In der offiziellen Dokumentation kann ich jedoch keinen Hinweis darauf finden, wie gezippte Dateien verarbeitet werden. In der Praxis kann es sehr effizient sein, .gz-Dateien anstelle von entpackten Dateien zu verarbeiten.
Gibt es eine Möglichkeit, das Lesen von gezippten Dateien manuell zu implementieren oder wird das Entpacken beim Lesen einer .gz-Datei bereits automatisch durchgeführt?
möchte ich anmerken, dass, wenn Sie rufen 'sc.textFile()' auf einer gzip-Datei, Funken geben Sie eine RDD mit nur 1 Partition (ab 0.9.0). Dies liegt daran, dass gezippte Dateien [nicht teilbar] sind (http://mail-archives.apache.org/mod_mbox/spark-user/201310.mbox/%[email protected] .com% 3E). Wenn Sie die RDD nicht irgendwie partitionieren, sind alle Operationen auf dieser RDD auf einen einzelnen Kern beschränkt. –
Wenn ich 'logs = sc.textFile (" logs/*. Bz2 ")' versuche, erhalte ich einen Fehler bei nachfolgenden 'logs.count()'. Irgendwelche Ideen warum? – zbinsd
@zbinsd hast du es am Ende herausgefunden? Beim Laden von tar.gz-Dateien wird folgende Fehlermeldung angezeigt: JsonParseException: Unzulässiges Zeichen ((STRG-CHAR, Code 0)): Zwischen den Token – Leon