【发布时间】:2018-10-18 19:54:38
【问题描述】:
试图让 HDFSSensor 工作。我已经建立了 hdfs 连接并且文件在那里,但它一直在戳文件并且永远不会完成
寻找文件 hdfs://user/airflow/stamps/test/ds=2018-10-15/_SUCCESS
代码如下
hdfs_sense_open = HdfsSensor(
task_id='hdfs_sense_open',
filepath='hdfs://user/airflow/stamps/test/ds=2018-10-15/_SUCCESS',
hdfs_conn_id='hdfs_leo',
dag=dag)
实际上它可以在路径中没有文件名的情况下工作。我还想在创建hdfs连接时再补充一点,您需要使用hdfs端口号而不是webhdfs端口,即8020(如果是localhost,可能是9000)而不是像50070这样的webhdfs端口
hdfs_sense_open = HdfsSensor(
task_id='hdfs_sense_open',
filepath='/user/airflow/stamps/test/ds=2018-10-15/',
hdfs_conn_id='hdfs_leo',
dag=dag)
非常感谢你们两位试图帮助我
【问题讨论】:
-
我以前没有使用过这个传感器,但我会尝试从
filepath中排除hdfs://并只使用filepath='/user/airflow...'。查看路径在传感器中传递到的snakebite.client.Client.ls,我认为它可能会弄乱检查。 -
实际上我需要删除 /_SUCCESS 并且只提供包含该文件的文件夹的路径。如果我也能控制文件名,那就太好了
标签: airflow