我正在尝试读取表,修改列并写入另一个表。我遵循可用的文档并遵循代码。它没有给出任何错误,但任务也不会执行。
我尝试删除转换步骤,然后写入信息。
import sqlalchemy
import bonobo
import bonobo_sqlalchemy
def get_services():
return {
'sql_alchemy.engine': sqlalchemy.create_engine('postgresql://postgres:password@localhost:5432/postgres')
}
def transform(*row):
new_row = row[0]+1, row[1]
yield new_row
def get_graph(**options):
graph = bonobo.Graph()
graph.add_chain(bonobo_sqlalchemy.Select('SELECT * FROM users', engine='sql_alchemy.engine')
,
transform,
bonobo_sqlalchemy.InsertOrUpdate(table_name='table_1', engine='sql_alchemy.engine'),
)
return graph
# The __main__ block actually execute the graph.
if __name__ == '__main__':
parser = bonobo.get_argument_parser()
with bonobo.parse_args(parser) as options:
bonobo.run(get_graph(**options), services=get_services(**options))
输出: - 选择in = 1 out = 6 [完成] -format_for_db in = 6 out = 6 [完成] - 插入= 6 out = 6 [完成]
在词典产生如下时起作用,
yield {"id": row[0], "text": row[1], "count":row[2]}
转换后链中的bonobo.UnpackItems(0)
节点。