Airflow适配GaussDB开源验证任务心得

举报
yd_214359516 发表于 2024/12/13 16:08:47 2024/12/13
489 0 0
【摘要】 Apache Airflow是一个用于编排、调度和监控工作流的平台。它允许用户以编程的方式定义复杂的工作流,这些工作流可以包含多个任务,并且这些任务之间可以有依赖关系。工作流在 Airflow 中被定义为有向无环图(DAG,Directed Acyclic Graph)。DAG 由一系列的任务(Task)组成,任务之间通过定义好的依赖关系连接起来,例如任务 A 必须在任务 B 开始之前完成。

根据计划书了解到需要使用Airflow来作为数据同步工具,向Gauss同步数据,并验证;总体来说,部署并不复杂,环境安装Python3+即可;需要注意各版本组件的兼容的问题;参考:https://airflow.apache.org/docs/apache-airflow/2.9.2/start.html
下面是一些相关步骤(以单机部署为例):

开发过程:

1.创建目录Airflow

2.在目录下创建安装脚本install.sh

内容如下:

AIRFLOW_VERSION=2.9.2

# Extract the version of Python you have installed. If you're currently using a Python version that is not supported by Airflow, you may want to set this manually.
# See above for supported versions.
PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"

CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
# For example this would install 2.9.2 with python 3.8: https://raw.githubusercontent.com/apache/airflow/constraints-2.9.2/constraints-3.8.txt

pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

3.给文件赋予执行权限

chmod +x install.sh

4.执行安装文件

5.启动服务(注意此处给的账号密码)

airflow standalone

yum install mysql-devel python3-devel gcc

# 安装 provider 包
pip install apache-airflow-providers-mysql

# 安装其他必要的包
pip install apache-airflow-providers-postgres
pip install mysql-connector-python
pip install psycopg2-binary

6.创建DAG文件夹

mkdir /root/airflow/dags

7.上传脚本

脚本连接:https://gitcode.com/zjx_666/airflow/tree/main

8.运行脚本

airflow dags test mysql_to_gauss_sync $(date +%Y-%m-%d)

9.数据写入成功

       此安装过程并不复杂,重点在于脚本的调试和依赖环境的安装,需要根据脚本的需要安装依赖,会遇到版本不兼容的问题,需要去官网查阅资料,仔细对比;此安装过程是基于CentOS Stream9安装,如系统版本不一致,请自行调整命令。



【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。