Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Cele MySQL w przepływie pracy Luigi

Istniejący MySqlTarget w luigi używa oddzielnej tabeli znaczników, aby wskazać, kiedy zadanie zostało ukończone. Oto przybliżone podejście, które bym przyjął... ale twoje pytanie jest bardzo abstrakcyjne, więc w rzeczywistości może być bardziej skomplikowane.

import luigi
from datetime import datetime
from luigi.contrib.mysqldb import MySqlTarget


class TaskA(luigi.Task):
    rundate = luigi.DateParameter(default=datetime.now().date())
    target_table = "table_to_update"
    host = "localhost:3306"
    db = "db_to_use"
    user = "user_to_use"
    pw = "pw_to_use"

    def get_target(self):
        return MySqlTarget(host=self.host, database=self.db, user=self.user, password=self.pw, table=self.target_table,
                           update_id=str(self.rundate))

    def requires(self):
        return []

    def output(self):
        return self.get_target()

    def run(self):
        #update table
        self.get_target().touch()


class TaskB(luigi.Task):
    def requires(self):
        return [TaskA()]

    def run(self):
        # reading from target_table



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy w MySQL mogę zwrócić usunięte wiersze po usunięciu?

  2. WYBIERZ różne wartości dla wielu wierszy o tym samym identyfikatorze

  3. MySQL 1062 - Zduplikowany wpis '0' dla klucza 'PRIMARY'

  4. Jak mogę usunąć każdą kolumnę w tabeli w MySQL?

  5. Zapytanie mysql z takimi jak %..% w klauzuli WHERE zwracające różne wyniki