KDP场景教程 | 使用Apache Airflow进行Hive SQL批作业调度

by June 2024-11-01

1.介绍

Apache Airflow是一个开源的流式作业调度平台,可以轻松地创建、调度、监控和管理工作流。Airflow支持Hive SQL,可以轻松地执行Hive SQL任务。Apache Airflow使用DAG(有向无环图)来表示工作流,DAG由任务节点和依赖关系组成。任务节点可以是Python操作、Shell操作、SQL操作等。Airflow支持多种调度器,包括本地调度器、Celery调度器、Kubernetes调度器等。

本文介绍使用pyhive编写Hive SQL任务,并使用Apache Airflow Kubernetes 调度器来执行任务。

2.编写 Hive SQL DAG

具体的代码实现可以访问 Github(https://github.com/linktimecloud/example-datasets/blob/airflow/dags/hive-sql-example.py) 或者 Gitee 查看。

这段代码是一个使用Apache Airflow框架编写的DAG(Directed Acyclic Graph,有向无环图),用于自动化数据处理任务。它主要执行以下两个任务:创建一个Hive表并插入数据,然后找出每个科目的最高分学生。

3.运行DAG

3.1 组件依赖

需要在KDP安装如下组件:

  • mysql
  • airflow
  • zookeeper
  • hdfs
  • hive (hive metastore, hive server)
  • hue, httpfs-gateway (可选)

3.2 调度作业

使用默认参数在KDP安装Airflow后, 使用账号admin和密码admin登录Airflow Web。

启动名称为hive-sql-example的DAG。

运行成功后,可以通过Hue Web界面查看结果。也可以参考 hive-server2 Qucick Start 使用beeline 连接 Hive Server2 查看结果。

🚀🚀项目地址👇👇https://github.com/linktimecloud/kubernetes-data-platform

扫码获取项目地址

🚀社区🚀

我们期待您的贡献和建议!最简单的贡献方式是参与Github议题/讨论的讨论。如果您有任何问题,请与我们联系,我们将确保尽快为您解答。

微信群:添加小助手微信拉您进入交流群 

钉钉群:搜索公开群组号 82250000662

🚀贡献🚀

参考开发者指南,了解如何开发及贡献 KDP。

https://linktimecloud.github.io/kubernetes-data-platform/docs/zh/developer-guide/developer-guide.html

留言

评论

${{item['author_name']}} 回复 ${{idToContentMap[item.parent] !== undefined ? idToContentMap[item.parent]['author_name'] : ''}} · ${{item.date.slice(0, 10)}} 回复

暂时还没有一条评论.