我想在数据块上运行气流DAG。
我已经在数据砖上安装了apache-airflow 1.9.0(python3软件包)。
在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可视化为图形视图。
我可以通过在本地计算机上安装气流docker映像,然后访问localhost:8080来做到这一点。
但是,我无法找到如何在数据块上执行此操作。
谢谢
更新 我已经奔跑
%sh
airflow webserver -p 8080
我试图通过运行来访问localhost:8080
%sh
curl localhost:8080
在databricks笔记本上。
我知道了
% 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.
但是,它们在笔记本的输出中,并且没有可点击的链接。 气流安装在databricks群集上,而不在我的本地计算机上。 如果我在本地计算机上运行localhost:8080,则无法访问它。
谢谢
答案 0 :(得分:1)
关于使用curl检索气流网络服务器提供的信息的更新,可以使用下面的代码(基本上,您需要在admin目录中获取url)
%sh curl本地主机:8080 / admin /
尽管如此,您将无法像在本地计算机上那样弹出任何气流UI页面(curl只会在databricks控制台中以纯文本形式显示输出)。
Databricks中的集群主要是临时资源(在这种情况下,它们仅被视为“处理工具”,可以随时启动,停止,重新启动和终止,而不会影响存储的数据),因此它们由于网络服务器进程,预计不能一直运行。另外,Databricks提供了有关群集的“摘要”,因为不希望它直接访问Databricks群集的节点(即:每个节点的特定IP)。您最终可以在节点上启用SSH(如此处说明:https://docs.databricks.com/clusters/configure.html#ssh-access-to-clusters),然后打开一个节点到Internet,以便从URL UI进行访问(如果使用,则应使用服务器IP)。但是,实际上,除非Databricks平台为特定服务(例如MLFlow,Delta)提供UI,否则不建议将这些IP打开到Internet(由于可能的安全漏洞)。
在具有Airflow的Databricks集成中,主要思想是您有一个外部airflow主节点(您在其中运行Web服务器进程),从该节点连接到Databricks集群以执行作业(通过内部执行Databricks REST Api的DatabricksSubmitRunOperator)。如该链接所述,先前由@ CHEEKATLAPRADEEP-MSFT发布:https://docs.databricks.com/dev-tools/data-pipelines.html
实际上,目前尚不希望(直到现在)从Databricks群集中运行并保持气流Web服务器进程运行(这将消耗资源)。因此,不介意访问Databricks内部的Web服务器。重要的是,应使用airflowOperators将作业运行到Databrick中。
希望这有助于回答您的问题
答案 1 :(得分:0)
您可以在Airflow Web UI中可视化DAG。运行airflow webserver
并连接到localhost:8080
。单击任何example_databricks_operator
以查看DAG的许多可视化。
这里是一个例子:
参考: Integrating Apache Airflow with Databricks。
希望这会有所帮助。如果您还有其他疑问,请告诉我们。
请在有助于您的帖子上单击“标记为答案”,然后点击“赞”,这可能会对其他社区成员有所帮助。