自动化CSV以使用气流和Docker摄入PostgreSQL
该教程演示了使用Apache Airffore,Docker和PostgreSQL构建强大的数据管道,以使数据传输从CSV文件自动化到数据库。我们将介绍核心气流概念,例如DAG,任务和运营商,以进行有效的工作流程管理。
该项目展示了创建可靠的数据管道,该数据管线读取CSV数据并将其写入PostgreSQL数据库。我们将集成各种气流组件,以确保有效的数据处理和维护数据完整性。
学习目标:
- 掌握核心Apache气流概念:DAG,任务和操作员。
- 用Docker设置并配置Apache Airffor,以进行工作流动自动化。
- 将PostgreSQL集成以在气流管道内进行数据管理。
- 掌握读取CSV文件并将数据插入到PostgreSQL数据库中。
- 使用气流和Docker构建和部署可扩展,高效的数据管道。
先决条件:
- Docker Desktop,VS代码,Docker组成
- 对Docker容器和命令的基本理解
- 基本Linux命令
- 基本的Python知识
- 体验从Dockerfiles构建Docker图像并使用Docker组成
什么是Apache气流?
Apache气流(气流)是用于编程,调度和监视工作流程的平台。将工作流定义为代码可改善可维护性,版本控制,测试和协作。其用户界面简化了可视化管道,监视进度和故障排除。
气流术语:
- 工作流程:实现目标的分步过程(例如,烤蛋糕)。
- DAG(有向无环图):一个工作流蓝图显示任务依赖性和执行顺序。这是工作流程的视觉表示。
- 任务:工作流程中的一个动作(例如,混合成分)。
-
操作员:任务的构建块,定义操作诸如运行Python脚本或执行SQL之类的操作。关键操作员包括
PythonOperator
,DummyOperator
和PostgresOperator
。 - XCOMS(交叉通信):启用任务可以通信和共享数据。
- 连接:管理连接到外部系统(例如数据库)的凭据。
使用Docker和Dockerfile设置Apache气流:
使用Docker确保一个一致且可再现的环境。 Dockerfile
自动创建图像。以下说明应保存为Dockerfile
(无扩展):
来自Apache/气流:2.9.1-Python3.9 用户根 复制要求.txt /requirentess.txt 运行pip3 install-upgrade pip && pip3 install -no-cache-dir -r /requirentess.txt 运行pip3安装apache-airflow-providers-apache-spark-spark-apache-air flow-providers-amazon 运行apt-get update && apt-get安装-y gcc python3-dev openjdk-17-jdk && apt-get get clean
此Dockerfile
使用官方的气流图像,从requirements.txt
安装依赖项。
Docker组成配置:
docker-compose.yml
精心策划Docker容器。以下配置定义了网络服务器,调度程序,触发器,CLI,INIT和POSTGRESQL的服务。请注意x-airflow-common
部分用于共享设置以及与PostgreSQL数据库的连接。 (完整的docker-compose.yml
太长在这里包括,但上面显示了关键部分)。
项目设置和执行:
- 创建一个项目目录。
- 添加
Dockerfile
和docker-compose.yml
文件。 - 创建
requirements.txt
列出必要的python软件包(例如pandas)。 - 运行
docker-compose up -d
以启动容器。 - 访问
http://localhost:8080
气流UI。 - 在气流UI中创建PostgreSQL连接(使用
write_to_psql
作为连接ID)。 - 创建示例
input.csv
文件。
dag和python函数:
气流dag( sample.py
)定义了工作流程:
-
PostgresOperator
创建数据库表。 -
PythonOperator
(generate_insert_queries
)读取CSV并生成SQLINSERT
语句,将其保存到dags/sql/insert_queries.sql
。 - 另一个后
PostgresOperator
执行生成的SQL。
(完整的sample.py
代码太长在这里包括,但关键部分如上所述)。
结论:
该项目使用气流,Docker和PostgreSQL展示了完整的数据管道。它突出了自动化的好处以及将Docker用于可再现环境的好处。运算符和DAG结构的使用是有效工作流程管理的关键。
(其余部分,包括常见问题解答和GitHub储物库,省略为简洁。它们存在于原始输入中。)
以上是自动化CSV以使用气流和Docker摄入PostgreSQL的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文回顾了AI最高的艺术生成器,讨论了他们的功能,对创意项目的适用性和价值。它重点介绍了Midjourney是专业人士的最佳价值,并建议使用Dall-E 2进行高质量的可定制艺术。

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

本文比较了诸如Chatgpt,Gemini和Claude之类的顶级AI聊天机器人,重点介绍了其独特功能,自定义选项以及自然语言处理和可靠性的性能。

文章讨论了Grammarly,Jasper,Copy.ai,Writesonic和Rytr等AI最高的写作助手,重点介绍了其独特的内容创建功能。它认为Jasper在SEO优化方面表现出色,而AI工具有助于保持音调的组成

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

嘿,编码忍者!您当天计划哪些与编码有关的任务?在您进一步研究此博客之前,我希望您考虑所有与编码相关的困境,这是将其列出的。 完毕? - 让&#8217

本文评论了Google Cloud,Amazon Polly,Microsoft Azure,IBM Watson和Discript等高级AI语音生成器,重点介绍其功能,语音质量和满足不同需求的适用性。
