визуализировать DAG-файлы воздушного потока на блоках данных

Я хотел бы запустить DAG-файлы воздушного потока на блоках данных.

Я установил apache-airflow 1.9.0 (пакет python3) на databricks.

В блокноте Databricks я использовал:

  %sh
  airflow list_dags

Я получил:

 -------------------------------------------------------------------
 DAGS
 -------------------------------------------------------------------
 example_bash_operator
 example_branch_dop_operator_v3
 example_trigger_target_dag
 example_xcom
 latest_only
 latest_only_with_trigger
 test_utils
 tutorial

Я хотел бы визуализировать указанные выше группы DAG в виде графика.

Я могу сделать это, установив образ докера воздушного потока на свой локальный компьютер, а затем зайти на localhost: 8080.

Но я не могу понять, как это сделать на блоках данных.

Спасибо

ОБНОВЛЕНИЕ Я запустил

  %sh
  airflow webserver -p 8080

Я попытался получить доступ к localhost: 8080, запустив

  %sh
  curl localhost:8080

на блокноте.

Я получил:

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  
 Current
                             Dload  Upload   Total   Spent    Left  
 Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  100   221  100   221    0     0  23440      0 --:--:-- --:--:-- --:--:-- 24555
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  <title>Redirecting...</title>
  <h1>Redirecting...</h1>
  <p>You should be redirected automatically to target URL: <a href="/admin/">/admin/</a>.  If not click the link.

Но они есть на выходе из записных книжек, и на нем нет кликабельных ссылок. Воздушный поток установлен в кластере блоков данных, а не на моем локальном компьютере. Если я запускаю localhost: 8080 на своем локальном компьютере, я не могу получить к нему доступ.

Благодарность


person user3448011    schedule 22.12.2019    source источник


Ответы (2)


  1. Что касается вашего обновления об использовании curl для получения информации, предоставляемой веб-сервером воздушного потока, вы можете использовать приведенный ниже код (в основном вам нужно получить URL-адрес внутри каталога администратора)

    % sh curl localhost: 8080 / администратор /

Тем не менее, вы не сможете открыть какую-либо страницу пользовательского интерфейса воздушного потока, как если бы вы это делали на своем локальном компьютере (curl будет отображать вывод только в виде обычного текста в консоли Databricks).

  1. Кластеры в Databricks в основном являются временными ресурсами (в том смысле, что они рассматриваются только как «инструмент обработки», который можно запускать, останавливать, перезапускать и завершать в любое время, не затрагивая сохраненные данные), поэтому не ожидается, что они будут запускать все время из-за процесса веб-сервера. Кроме того, Databricks предоставляет «абстракцию» о кластерах, поскольку не ожидается прямой доступ к узлам кластера Databricks (то есть: конкретный IP-адрес каждого узла). В конечном итоге вы можете включить SSH на узлах (как описано здесь: https://docs.databricks.com/clusters/configure.html#ssh-access-to-clusters), а затем откройте узел в Интернете, чтобы получить к нему доступ из пользовательского интерфейса URL (в случае использования вы должны используйте IP-адрес сервера). Но на самом деле, если платформа Databricks не предоставляет пользовательский интерфейс для конкретной службы (например, MLFlow, Delta), не рекомендуется открывать эти IP-адреса в Интернете (из-за возможных утечек безопасности).

  2. В Databricks с интеграцией Airflow основная идея заключается в том, что у вас есть внешний главный узел воздушного потока (где у вас запущен процесс веб-сервера), откуда вы подключаетесь к кластеру Databricks для выполнения заданий (через DatabricksSubmitRunOperator, который внутренне выполняет Databricks REST Api). Как упоминалось в этой ссылке, ранее опубликованной @ CHEEKATLAPRADEEP-MSFT: https://docs.databricks.com/dev-tools/data-pipelines.html
    Фактически, не ожидается (до сих пор) для запуска и сохранения процесса веб-сервера воздушного потока из кластеров Databricks (это потребляет Ресурсы). Так что было бы не против получить доступ к веб-серверу внутри Databricks. Важно, чтобы задание запускалось в Databricks вместо этого с помощью airflowOperators.

Надеюсь, это поможет ответить на ваш вопрос

person Mitodina    schedule 01.01.2020

Вы можете визуализировать DAG в веб-интерфейсе Airflow. Запустите airflow webserver и подключитесь к localhost:8080. Щелкните любую example_databricks_operator, чтобы увидеть множество визуализаций вашего DAG.

Вот пример:

введите здесь описание изображения

Ссылка: Интеграция Apache Airflow с Databricks.

Надеюсь это поможет. Сообщите нам, если у вас возникнут дополнительные вопросы.


Нажмите «Отметить как ответ» и проголосуйте за сообщение, которое поможет вам, это может быть полезно для других членов сообщества.

person CHEEKATLAPRADEEP-MSFT    schedule 23.12.2019