MssqlHook气流连接

时间:2018-08-15 12:58:59

标签: airflow

我对使用气流是陌生的,我需要做的是使用MssqlHook,但我不知道如何。我应该在构造函数中提供什么元素?

我在气流中有一个名为connection_test的连接。

我不完全了解该类中的属性:

class MsSqlHook(DbApiHook):
    """
    Interact with Microsoft SQL Server.
    """

    conn_name_attr = 'mssql_conn_id'
    default_conn_name = 'mssql_default'
    supports_autocommit = True

我有以下代码:

sqlhook=MsSqlHook(connection_test)
sqlhook.get_conn()

当我这样做时,错误是由于未知原因连接失败

如何使它与气流连接一起使用?

我需要为MsSqlHook调用函数.get_conn()。

1 个答案:

答案 0 :(得分:2)

请参阅气流的标准示例。

https://github.com/gtoonstra/etl-with-airflow/blob/master/examples/mssql-example/dags/mssql_bcp_example.py

例如:

t1 = MsSqlImportOperator(task_id='import_data',
                         table_name='test.test',
                         generate_synth_data=generate_synth_data,
                         mssql_conn_id='mssql',
                         dag=dag)

编辑

hook = MsSqlHook(mssql_conn_id="my_mssql_conn")
hook.run(sql)

您需要提供在连接中定义的连接。同样,如果使用挂钩,在各个操作符中查找通常会产生一些有关用法的信息。这段代码来自MSSQLOperator。