Ich bin neu im Luftstrom. In meiner Firma für ETL-Pipeline verwenden wir derzeit Crontab und benutzerdefinierte Scheduler (entwickelt in-house). Jetzt planen wir Apache Luftstrom für unsere alle Data Pipe zu implementieren- Linienszenarien .Für das beim Erkunden der Funktionen nicht in der Lage zu finden unique_id für jede Task Instances/Dag .Wenn ich suchte die meisten Lösungen endete in Makros und Vorlage .Aber keine von ihnen bieten keine uniqueID für eine Aufgabe. Aber ich bin in der Lage, inkrementelle uniqueID in der Benutzeroberfläche für jede Aufgaben zu sehen. Gibt es eine Möglichkeit, einfach auf diese Variablen innerhalb meiner Python-Methode zugreifen. Der Hauptanwendungsfall ist, dass ich diese IDs als Parameter aus Python/Ruby/Pentaho übergeben müssen Jobs, die als Skripte/Methoden bezeichnet werden.Getting unique_id für Apache Luftströmungsaufgaben
Für Beispiel
mein Shell-Skript ‚test.sh‘ müssen zwei Argumente man RUN_ID und andere objektgruppen wird. Derzeit erzeugen wir diese einzigartige RUN_ID von einer zentralen Datenbank und an den Arbeitsplätzen vorbei .Wenn es bereits im Luftstrom Zusammenhang wir verwenden werden, dass
from airflow.operators.bash_operator import BashOperator
from datetime import date, datetime, timedelta
from airflow import DAG
shell_command = "/data2/test.sh -r run_id -c collection_id"
putfiles_s3 = BashOperator(
task_id='putfiles_s3',
bash_command=shell_command,
dag=dag)
für einen einzigartigen RUN_ID Suchen (Entweder Dag Ebene/Aufgabenebene) für jeden Lauf während der Ausführung dieses Dag (geplant/manuell)
Hinweis: Dies ist eine Beispielaufgabe. Es wird mehrere abhängige Aufgabe zu diesem Dag geben. Ansetztechnologie JOB_ID Screenshot von Luftstrom UI
Dank Anoop R
Geben Sie Ihren Code ein –
Haben Sie sich UUID angesehen? https://stackoverflow.com/questions/534839/how-to-create-a-guid-uuid-in-python#534851 –
@MicahElliott Danke für Ihren Vorschlag. Wir können zufällige ID wie diese oder Shell zufällige Befehl generieren. Ich suchte nach einer ID, die vom Luftstrom selbst erzeugt wurde, genau wie job_id. Einen Screenshot der Airflow-Benutzeroberfläche als Referenz anhängen. –