Créez un programme Apache Beam simple pour comprendre son fonctionnement
Créez un programme qui lit un fichier texte local et l'écrit tel quel
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
Sélectionnez Maven et le Project SDK
est 1.8
\ <Next >
Entrez GroupId
et ʻArtifactId \ <Next \> (tous deux cette fois
beamSample`)
Entrez Nom du projet
\ <Terminer > (cette fois beamSampleProject
)
Ajout de ~ / beamSample / src / main / java / SimpleBeam.java
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);
//Lire le texte
PCollection<String> textData = p.apply(TextIO.read().from("Sample.txt"));
//Rédaction de texte
textData.apply(TextIO.write().to("wordcounts"));
//Pipeline run
p.run().waitUntilFinish();
}
}
Si la dépendance n'est pas résolue, cliquez sur commande
+ et ajoutez-la comme indiqué dans l'image.
~ / beamSample / Sample.txt
(lire le texte)+
=> Maven en haut à gaucheNom
Répertoire de travail
est défini sur ~ / beamSample
compile exec: java -Dexec.mainClass = SimpleBeam
dans Ligne de commande
Le résultat est le suivant, et il réussit si le fichier `` wordcounts-. * Est créé dans le répertoire
~ / beamSample`.
[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
Cette fois, il n'y a rien qui semble trébucher, mais comme j'ai peu de compréhension du contenu d'IntelliJ, j'étais impatient avec une erreur inconnue à plusieurs reprises. Cependant, la plupart des causes étaient que les dépendances ne pouvaient pas être résolues, donc j'ai réussi à faire ʻAdd_Maven`.
Cette fois, je viens de le déplacer, donc à partir de la prochaine fois, j'aimerais configurer un pipeline simple qui sert également de revue de l'idée de MapReduce.
Recommended Posts