转换后写入桌子(Bonobo-Sqlalchemy)



我正在尝试读取表,修改列并写入另一个表。我遵循可用的文档并遵循代码。它没有给出任何错误,但任务也不会执行。

我尝试删除转换步骤,然后写入信息。

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)节点。

最新更新