sql >> Databáze >  >> RDS >> Mysql

Cíle MySQL v pracovním postupu Luigi

Stávající MySqlTarget v luigi používá samostatnou tabulku značek k označení, kdy je úkol dokončen. Zde je hrubý přístup, který bych zvolil...ale vaše otázka je velmi abstraktní, takže ve skutečnosti bude pravděpodobně složitější.

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. Proč se přeruší konektor mysql (ztracené připojení k serveru MySQL během chyby dotazu)

  2. SQL - poddotazy pro nejlepší výsledek bez pořadí podle

  3. Tabulka 'performance_schema.session_variables' neexistuje

  4. SQL:Umožněte prohledávat barvy z tabulky barev