[JAVA] Einführung in Apache Beam (1) ~ Lesen und Schreiben von Text ~

Gesamtzweck

Erstellen Sie ein einfaches Apache Beam-Programm, um zu verstehen, wie es funktioniert

Zweck dieser Zeit

Erstellen Sie ein Programm, das eine lokale Textdatei liest und unverändert schreibt

Hauptgeschichte

Umgebung

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

Verfahren

Vorbereitung

https://gyazo.com/d68a0b28e4f5a49ddcf77b8ae350ddb3

https://gyazo.com/9f3c75bb7289d485d09bee88b662663b

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.

https://gyazo.com/62d3d70f83834da1d5cd610a056d2333

https://gyazo.com/323bde1aca3e1cff001c792f0f80e767

https://gyazo.com/c31e09c23800d61222d87624844c8be3

Lauf

https://gyazo.com/c8896bc73119d76b1d95e2b75e510819

https://gyazo.com/cb53ea8efadaf6e488f9fe5acc2cdf52

https://gyazo.com/3c554c5e5c91074019bf8efc3dbab101

https://gyazo.com/666109229175f8ffa1ca57640a0a1e88

Die 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

https://gyazo.com/01ec441970c699e8a2d440f1b1c9e667

Mit anderen Worten

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.

vom nächsten mal

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

Einführung in Apache Beam (1) ~ Lesen und Schreiben von Text ~
Ich habe versucht, C # zu kauen (Dateien lesen und schreiben)
Implementieren Sie das Schreiben und Lesen in die Eigenschaftsliste (.plist) in Swift
[Java] Lesen und Schreiben von Dateien mit OpenCSV
Einführung in EHRbase 1-Übersicht und Umgebungswartung
[Einführung in Java] Informationen zu Variablendeklarationen und -typen
Lesen und Schreiben von GZIP-Dateien in Java
Scraping und Schreiben bestimmter Elemente in eine Datei
[Review] Lesen und Schreiben von Dateien mit Java (JDK6)
Einführung in Ruby 2
N Dinge, die Sie beim Lesen von "Einführung in den Frühling" und "Einführung in den Frühling" in der Reiwa-Ära beachten sollten
Apache und Tomcat
Einführung in web3j
Einführung in Micronaut 1 ~ Einführung ~
[Java] Einführung in Java
Einführung in die Migration
Einführung in Java
Einführung in Doma
Eine kurze Einführung in terasoluna5 finden Sie im folgenden Text