Erstellen Sie ein einfaches Apache Beam-Programm, um zu verstehen, wie es funktioniert
Erstellen Sie ein Programm, das eine lokale Textdatei liest und unverändert schreibt
IntelliJ
IntelliJ IDEA 2017.3.3 (Ultimate Edition)
Build #IU-173.4301.25, built on January 16, 2018
Licensed to kaito iwatsuki
Subscription is active until January 24, 2019
For educational use only.
JRE: 1.8.0_152-release-1024-b11 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6
Maven : 3.5.2
Wählen Sie Maven und das Project SDK
ist 1.8
\ <Next >
Geben Sie "GroupId" und "ArtifactId" \ <Next > ein (diesmal beide "beamSample ").
Geben Sie Projektname
\ <Fertigstellen > ein (diesmal BeamSampleProject
)
~ / BeamSample / src / main / java / SimpleBeam.java
hinzugefügt
SimpleBeam.java
import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.io.TextIO;
import org.apache.beam.sdk.options.PipelineOptions;
import org.apache.beam.sdk.options.PipelineOptionsFactory;
import org.apache.beam.sdk.values.PCollection;
public class SimpleBeam {
public static void main(String[] args){
PipelineOptions options = PipelineOptionsFactory.create();
Pipeline p = Pipeline.create(options);
//Text lesen
PCollection<String> textData = p.apply(TextIO.read().from("Sample.txt"));
//Text schreiben
textData.apply(TextIO.write().to("wordcounts"));
//Pipeline-Lauf
p.run().waitUntilFinish();
}
}
Wenn die Abhängigkeit nicht aufgelöst wird, klicken Sie auf "Befehl" + und fügen Sie sie wie im Bild gezeigt hinzu.
~ / BeamSample / Sample.txt
hinzugefügt (Text lesen)+
=> MavenArbeitsverzeichnis
ist auf ~ /beamSample
eingestelltcompile exec: java -Dexec.mainClass = SimpleBeam
in Befehlszeile
einDie Ausgabe lautet wie folgt und ist erfolgreich, wenn die Datei `` wordcounts-. * Im Verzeichnis
~ / BeamSample` erstellt wird.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.827 s
[INFO] Finished at: 2018-02-27T02:46:10+09:00
[INFO] Final Memory: 21M/373M
[INFO] ------------------------------------------------------------------------
Process finished with exit code 0
Dieses Mal scheint nichts zu stolpern, aber da ich den Inhalt von IntelliJ kaum verstehe, war ich mehrmals ungeduldig mit einem unbekannten Fehler. Die meisten Ursachen waren jedoch, dass die Abhängigkeiten nicht gelöst werden konnten, so dass ich es schaffte, "Add_Maven" zu machen.
Dieses Mal habe ich es nur verschoben, daher möchte ich ab dem nächsten Mal eine einfache Pipeline konfigurieren, die auch als Überprüfung der Idee von MapReduce dient.
Recommended Posts