[PYTHON] Was ist Clivoa, ein Framework für die ETL-Verarbeitung?

Was ist ETL-Verarbeitung?

ETL ist eine Abkürzung für Extrahieren, Transformieren und Laden. Wenn Extrahieren, Transformieren und Laden ins Japanische übersetzt werden, werden sie extrahiert, verarbeitet und gelesen. ETL-Verarbeitung ist die von ETL angegebene Verarbeitung für einige Daten (Textdatei, CSV-Datei usw.).

Was ist Cliboa?

BrainPad Entwerfen und implementieren Sie den gemeinsamen Infrastrukturteil der ETL-Verarbeitungsfunktion, der intern als Anwendungsframework entwickelt und betrieben wurde. Das feste ist Clivoa.

GitHub https://github.com/BrainPad/cliboa

PyPI https://pypi.org/project/cliboa/

Definition der ETL-Verarbeitung in Cliboa

In Cliboa wird Extrahieren als Herunterladen von Daten aus einer Box definiert, Transformieren als Verarbeiten der heruntergeladenen Daten und Laden als Extrahieren und Hochladen der verarbeiteten Daten in eine beliebige Box. tun. Ein konzeptionelles Diagramm ist unten gezeigt. image.png

Merkmale von Cliboa

Schnellstart

Erforderliche Umgebung

Es läuft unter Linux-Betriebssystemen wie Debian, Ubuntu und CentOS.

Wie installiert man

Nachdem Sie Python Version 3.0 oder höher vorbereitet haben, installieren Sie es mit dem Befehl pip.

sudo pip3 install cliboa

Nach Abschluss der Installation können Sie den Befehl clivoadmin ausführen. Führen Sie cliboadmin in einem beliebigen Verzeichnis aus.

$ cd /usr/local
$ cliboadmin init sample
$ cd sample
$ cliboadmin create simple-etl

Programmstruktur

Die von cliboadmin initialisierte Programmstruktur lautet wie folgt.

sample
|-- bin
|   `-- clibomanager.py
|-- common
|   |-- __init__.py
|   |-- environment.py
|   |-- scenario
|   `-- scenario.yml
|-- conf
|-- logs
|-- project
|   `-- simple-etl
|       |-- scenario
|       `-- scenario.yml
`-- requirements.txt

Installieren des PyPI-Pakets

Da die zum Ausführen von clivoa erforderlichen Python-Pakete in der Datei require.txt definiert sind, geben Sie sie mit dem Befehl pip an und installieren Sie sie.

$ cd sample
$ pip3 install -r requirements.txt

Schreiben Sie ein Szenario für die ETL-Verarbeitung

Schreiben Sie den folgenden Prozess als Beispiel in project / simple-etl / szenario.yml.

Inhalte verarbeiten Laden Sie test.csv.gz vom SFTP-Server herunter, entpacken Sie die heruntergeladene Datei und laden Sie die entpackte Datei test.csv auf den SFTP-Server hoch

scenario:
- step:
  class: SftpDownload
  arguments:
    host: localhost
    user: root
    password: pass
    src_dir: /usr/local
    src_pattern: test.csv.gz
    dest_dir: /tmp
- step: FileDecompress
  arguments:
    src_dir: /tmp
    src_pattern: test.*\.csv.*\.gz
- step:
  class: SftpUpload
  arguments:
    host: localhost
    user: root
    password: pass
    src_dir: /tmp
    src_pattern: test.*\.csv
    dest_dir: /usr/local

Lauf

Bereiten Sie vor der Ausführung Folgendes vor

Mit dem folgenden Befehl ausführen

cd sample
bin/clibomanager.py simple-etl

Wenn es nach der Ausführung wie folgt aussieht, ist es erfolgreich --Test.csv.gz unter / usr / local wird unter / tmp erweitert und wird zu test.csv. --test.csv existiert unter / usr / local

Recommended Posts

Was ist Clivoa, ein Framework für die ETL-Verarbeitung?
Was ist die Aktivierungsfunktion?
[Definition] Was ist ein Framework?
Was ist die Schnittstelle für ...
Was ist die Rückruffunktion?
[Python] Was ist @? (Über Dekorateure)
[Python] Was ist der sortierte Schlüssel?
Was ist das X Window System?
Wofür ist der Python-Unterstrich (_)?
[Unix] Was ist der Zombie-Prozess / Orphan-Prozess?
Was ist die Ursache für den folgenden Fehler?
Was ist "Mahjong" in der Python-Bibliothek? ??
[Maschinelles Lernen] Was ist LP-Norm?
Was ist ein Namespace?
Was ist Django? .. ..
Was ist dotenv?
Was ist POSIX?
Was ist im Docker Python-Image pfeifend?
Was ist Linux?
Was ist klass?
Was ist SALOME?
Was ist Linux?
Was ist Python?
Was ist Hyperopt?
Es ist ein Mac. Was ist der Linux-Befehl Linux?
(Linux-Anfänger) Was ist das Zauberwort aux?
Was ist Linux?
Was ist Pyvenv?
Was ist __call__?
Was ist Linux?
Was ist der Unterschied zwischen Unix und Linux?
Was ist Python?
Was ist der Unterschied zwischen usleep, nanosleep und clock_nanosleep?
Was ist das Domain-Attribut, das in Plotlys Layout geschrieben ist?
Was ist ein empfohlener Motor? Zusammenfassung der Typen
[Python] Was ist Pipeline ...
Was ist das Calmar-Verhältnis?
Was ist ein Terminal?
[PyTorch Tutorial ①] Was ist PyTorch?
Was ist Hyperparameter-Tuning?
Was ist ein Hacker?
Was ist JSON? .. [Hinweis]
Das Common Clk Framework
Wofür ist Linux?
Was ist ein Zeiger?
Was ist Ensemble-Lernen?
Was ist TCP / IP?
Was ist Pythons __init__.py?
Was ist ein Iterator?
Was ist UNIT-V Linux?
[Python] Was ist virtualenv?
Was ist maschinelles Lernen?
Was ist der Unterschied zwischen symbolischen und harten Links?
Was ist die Standard-TLS-Version des Python-Anforderungsmoduls?
Die Bildanzeigefunktion von iTerm ist praktisch bei der Verarbeitung von Bildern.
[Pyro] Statistische Modellierung mit der probabilistischen Programmiersprache Pyro ~ What is Pyro ~