我想定义一个Luigi任务,该任务将在AWS中的Postgres数据库中创建一个表。我尝试了不同的进口,如:
import luigi.contrib.postgres.CopyToTable
from luigi.contrib.postgres import CopyToTable
import luigi.contrib.postgres
from luigi.contrib import postgres
import luigi.postgres ( i thing this is depreceated)
我收到了不同的错误,但总是相似,如:
AttributeError: module 'luigi.contrib' has no attribute 'postgres'
ModuleNotFoundError: No module named 'luigi.contrib.postgres'
有谁知道这是什么问题?我的任务是下一个:
class InsertToRDS(luigi.contrib.postgres.CopyToTable):
def requires(self):
return ReShape()
host = ""
database = ""
user = ""
password = "" # ;)
table = "extropy"
columns = [("author", "TEXT"),
("file_id", "TEXT"),
("year.month_x", "DATE"),
("subject", "TEXT"),
("subject", "TEXT"),
("file_timestamp", "TEXT"),
("mail_content", "TEXT"),
("next_message", "TEXT"),
("prev_message", "TEXT"),
("year.month_y", "DATE"),]
提前致谢!
答案 0 :(得分:3)
from luigi.contrib.postgres import CopyToTable
是正确的语法,然后您可以跟进......
class InsertToRDS(CopyToTable):
你确定luigi安装正确吗?在命令行中检查输出:
pip show luigi
如果显示正确的版本,请在命令行运行python
并再次尝试第一个导入行。如果它在那里工作,那么你运行程序的方式就会受到影响。