визуализировать DAG-потоки воздуха на блоках данных - PullRequest
0 голосов
/ 22 декабря 2019

Я хотел бы запускать DAG с воздушным потоком для блоков данных.

Я установил apache-airflow 1.9.0 (пакет python3) для блоков данных.

В записной книжке блоков данных я использовал:

  %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 в виде графика.

Я могу сделать это, установив образ док-станции airflow на мой локальный компьютер, а затем зайти на 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 на моей локальной машине, я не могу получить к нему доступ.

спасибо

Ответы [ 2 ]

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

    % sh curl localhost: 8080 / admin /

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

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

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

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

0 голосов
/ 23 декабря 2019

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

Вот пример:

enter image description here

Ссылка: Интеграция Apache Airflow с блоками данных .

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


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...