气流HdfsSensor hdfs_conn_id

时间:2019-05-10 20:16:42

标签: python airflow

我正在尝试从边缘节点使用Hdfs_Sensor运算符,但遇到了hdfs_conn_id应该是什么

这是我的爸爸:

from airflow import DAG
from airflow.operators.sensors import HdfsSensor as HdfsSensorImp
default_args = {
    'owner': 'anair',
    'depends_on_past': False,
    'start_date': datetime(2019,5,10),
    'email_on_failure': False,
    'email_on_retry': True,
    'retries': 1,
    'retry_delay': timedelta(minutes=5)
}

dag = DAG(
    'HdfsSensor_test', default_args=default_args, schedule_interval='*/10 * * * *')


hdfs_sense_open = HdfsSensorImp(
        task_id='hdfs_sense_open',
        filepath='/dev/dcdr/dv/coal/_SUCCESS',
        hdfs_conn_id='???',
        dag=dag)

我的hdfs_conn_id应该是什么?气流的新手,任何帮助将不胜感激。谢谢

2 个答案:

答案 0 :(得分:0)

hdfs_conn_id指的是在气流上创建的hdfs连接的名称/ id。

您可以在Airflow UI中创建新的连接。 管理员>连接>创建标签

答案 1 :(得分:0)

这对我有用!

HDFS 连接与任何 sftp/ftp 连接非常相似,因此如果您创建类似的新连接,这没什么大不了的。

但是,如果你想要一个整洁的环境,你必须先用

安装它的提供者
pip3 install apache-airflow-providers-apache-hdfs

(我使用的是 python 3,所以如果你使用的是 2,只需从上面的命令中删除 3)

安装成功后,重新启动网络服务器和调度程序服务,前往 Airflow UI > Admin > Connections > +

您可以在 Type 中看到 HDFS 现在存在。 只需添加输入有关 hdfs 的 SSH 内容(Host、User、Pass、..),它就会起作用。 连接 ID 是您稍后将在代码中使用的。

祝你好运。