Berühren Sie Apache Beam mit Python

Berühren Sie Apache Beam mit Python 2.7

Apache Beam ist das Framework, das Google in seinem Cloud-Service Dataflow verwendet. Das Verkaufsargument ist, dass sowohl die Stapelverarbeitung als auch die Streaming-Verarbeitung auf dieselbe Weise geschrieben werden können. Dieses Mal habe ich ein Mindestprogramm in Python geschrieben und es ausgeführt.

Voraussetzung für die Installation von Apache Beam

Installieren Sie Apache Beam

pip install apache-beam

Versuchen Sie, ein Programm wie das folgende zu schreiben

  1. Geben Sie 4 Zeilen Shakespeare ein
  2. Zählen Sie mit der len-Funktion die Anzahl der Zeichen in jeder Zeile
  3. Geben Sie die Anzahl der Zeichen in die Standardausgabe ein und beenden Sie sie (Ursprünglich endet sie mit dem Schreiben in die Datenbank oder etwas anderem, diesmal wird sie jedoch weggelassen).
import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions

#Machen Sie zuerst eine Pipeline
p = beam.Pipeline(options=PipelineOptions())

# 1.Stellen Sie das Array auf Pipeline-Eingabe ein (4 Zeilen als Eingabe)
lines = (p
       | beam.Create([
           'To be, or not to be: that is the question: ',
           'Whether \'tis nobler in the mind to suffer ',
           'The slings and arrows of outrageous fortune, ',
           'Or to take arms against a sea of troubles, ']))

# 2.Legen Sie die Anzahl der Zeichenfolgen jeder Zeile als Konvertierungsverarbeitung fest
word_lengths = lines | beam.Map(len)

# 3.Geben Sie abschließend die Zählnummer an die Standardausgabe aus und beenden Sie den Vorgang
class ExtractWordsFn(beam.DoFn):
  def process(self, element):
    print(element)
p_end = word_lengths | beam.ParDo(ExtractWordsFn())
p.run()
<apache_beam.runners.direct.direct_runner.DirectPipelineResult at 0x7f6b69c92950>
43
42
45
43

Zusammenfassung

――Es ist einfach, aber jetzt kann ich die Stapelverarbeitung von Apache Beam aus Python ausführen. Von der Installation bis zur Implementierung und Ausführung dauert es ungefähr eine Stunde. ――Ich möchte in Zukunft die Streaming-Verarbeitung ausführen. Es scheint auch, dass Spark Streaming usw. als Engine verwendet werden kann, also würde ich das auch gerne ausprobieren. ――Ich war froh, dass ich das oben Genannte von Bash unter Windows + Jupyter unter Windows ausführen konnte.

andere Referenzen

Recommended Posts

Berühren Sie Apache Beam mit Python
Apache Beam Cheet Sheet [Python]
Quadtree in Python --2
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Zwietracht in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Versuchen Sie, GeoSpark (Apache Sedona) in einer Python-Umgebung zu installieren
Sortierte Liste in Python
Täglicher AtCoder # 36 mit Python
Clustertext in Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Bearbeiten Sie Schriftarten in Python
Singleton-Muster in Python
Dateioperationen in Python
Lesen Sie DXF mit Python
Täglicher AtCoder # 53 in Python
Berühren Sie MySQL in Python 3
Tastenanschlag in Python
Verwenden Sie config.ini mit Python
Täglicher AtCoder # 33 in Python
Löse ABC168D in Python
Logistische Verteilung in Python
Täglicher AtCoder # 7 in Python