我正在尝试使用'S3KeySensor'检查一个数据的可用性(数据已存在),然后使用'DatabricksSubmitRunOperator'运行一个Databricks作业。 S3KeySensor任务在几秒钟内失败,下游任务在此之后失败。
在心跳日志中,没有详细说明inputsensor失败的原因,甚至还有一行说“执行者报告Emily_example_databricks_operator_3.inputsensor execution_date = 2018-03-20 11:15:00成功”。之后,它一直说'没有任务发送给遗嘱执行人'并一遍又一遍地重复。这是日志:Log
这是相应的Python代码:
inputsensor = S3KeySensor(
task_id='inputsensor',
bucket_key='/shard-conviva-databricks-vpc/0/_Projects/Huawei/checks/validity/dt%3D2018_03_05_08_to_2018_03_12_08/impactSummary.csv',
wildcard_match=True,
bucket_name='convivaoregon',
s3_conn_id='my_conn_S3',
soft_fail=False,
poke_interval=50,
timeout=50,
dag=dag
)
notebook_task = DatabricksSubmitRunOperator(
task_id='notebook_task',
dag=dag,
json=notebook_task_params,
databricks_conn_id='databricks_conviva'
)
notebook_task.set_upstream(inputsensor)
这是Databricks中的数据我正在尝试检查以下内容的可用性:
我已经接触过Databricks的支持,但是他们说这超出了他们的范围。
谢谢!
答案 0 :(得分:0)
您可以删除存储桶键中的/
。
尝试:
bucket_key='shard-conviva-databricks-vpc/0/_Projects/Huawei/checks/validity/dt%3D2018_03_05_08_to_2018_03_12_08/impactSummary.csv'
要进行检查,您可以在特定dag的日志中看到该消息。