Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Target MySQL dalam alur kerja Luigi

MySqlTarget yang ada di luigi menggunakan tabel penanda terpisah untuk menunjukkan kapan tugas selesai. Inilah pendekatan kasar yang akan saya ambil...tetapi pertanyaan Anda sangat abstrak, sehingga kemungkinan akan lebih rumit dalam kenyataannya.

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. Nilai peningkatan MySQL

  2. Berjuang dengan database nomor telepon MySQL

  3. Apa itu indeks?

  4. Bagaimana cara memindahkan kolom dalam tabel MySQL?

  5. Peringatan:mysql_fetch_array() mengharapkan parameter 1 menjadi sumber daya [...]