Airflow适配GaussDB开源验证任务心得
【摘要】 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)