В настоящее время я пытаюсь создать дополнительную ссылку на DatabricksRunNowOperator в потоке воздуха, чтобы я мог быстро получить доступ к выполнению блоков данных без необходимости рыться в журналах. В качестве отправной точки я просто пытаюсь добавить ссылку на Google в меню экземпляра задачи. Я следовал процедуре, показанной в этом руководстве , создавая следующий код, помещенный в папку домашних плагинов airflow:
from airflow.plugins_manager import AirflowPlugin
from airflow.models.baseoperator import BaseOperatorLink
from airflow.contrib.operators.databricks_operator import DatabricksRunNowOperator
class DBLogLink(BaseOperatorLink):
name = 'run_link'
operators = [DatabricksRunNowOperator]
def get_link(self, operator, dttm):
return "https://www.google.com"
class AirflowExtraLinkPlugin(AirflowPlugin):
name = "extra_link_plugin"
operator_extra_links = [DBLogLink(), ]
Однако дополнительная ссылка не отображается, даже после перезапуска webserver et c:
Вот код, который я использую для создания DAG:
from airflow import DAG
from airflow.contrib.operators.databricks_operator import DatabricksRunNowOperator
from datetime import datetime, timedelta
DATABRICKS_CONN_ID = '____'
args = {
'owner': 'Airflow',
'depends_on_past': False,
'start_date': datetime(2020, 2, 13),
'retries': 0
}
dag = DAG(
dag_id = 'testing_notebook',
default_args = args,
schedule_interval = timedelta(days=1)
)
DatabricksRunNowOperator(
task_id = 'mail_reader',
dag = dag,
databricks_conn_id = DATABRICKS_CONN_ID,
polling_period_seconds=1,
job_id = ____,
notebook_params = {____}
)
Я чувствую как будто мне не хватает чего-то действительно базового c, но я просто не могу понять это.
Дополнительная информация
- Версия воздушного потока 1.10.9
- Работает на Ubuntu 18.04.3