首页 科技周边 人工智能 自动化CSV以使用气流和Docker摄入PostgreSQL

自动化CSV以使用气流和Docker摄入PostgreSQL

Apr 09, 2025 am 11:37 AM

该教程演示了使用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气流(气流)是用于编程,调度和监视工作流程的平台。将工作流定义为代码可改善可维护性,版本控制,测试和协作。其用户界面简化了可视化管道,监视进度和故障排除。

自动化CSV以使用气流和Docker摄入PostgreSQL

气流术语:

  • 工作流程:实现目标的分步过程(例如,烤蛋糕)。
  • DAG(有向无环图):一个工作流蓝图显示任务依赖性和执行顺序。这是工作流程的视觉表示。 自动化CSV以使用气流和Docker摄入PostgreSQL
  • 任务:工作流程中的一个动作(例如,混合成分)。
  • 操作员:任务的构建块,定义操作诸如运行Python脚本或执行SQL之类的操作。关键操作员包括PythonOperatorDummyOperatorPostgresOperator
  • 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太长在这里包括,但上面显示了关键部分)。

项目设置和执行:

  1. 创建一个项目目录。
  2. 添加Dockerfiledocker-compose.yml文件。
  3. 创建requirements.txt列出必要的python软件包(例如pandas)。
  4. 运行docker-compose up -d以启动容器。
  5. 访问http://localhost:8080气流UI。
  6. 在气流UI中创建PostgreSQL连接(使用write_to_psql作为连接ID)。
  7. 创建示例input.csv文件。

dag和python函数:

气流dag( sample.py )定义了工作流程:

  • PostgresOperator创建数据库表。
  • PythonOperatorgenerate_insert_queries )读取CSV并生成SQL INSERT语句,将其保存到dags/sql/insert_queries.sql
  • 另一个后PostgresOperator执行生成的SQL。

(完整的sample.py代码太长在这里包括,但关键部分如上所述)。

结论:

该项目使用气流,Docker和PostgreSQL展示了完整的数据管道。它突出了自动化的好处以及将Docker用于可再现环境的好处。运算符和DAG结构的使用是有效工作流程管理的关键。

(其余部分,包括常见问题解答和GitHub储物库,省略为简洁。它们存在于原始输入中。)

以上是自动化CSV以使用气流和Docker摄入PostgreSQL的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

最佳AI艺术生成器(免费付款)创意项目 最佳AI艺术生成器(免费付款)创意项目 Apr 02, 2025 pm 06:10 PM

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

开始使用Meta Llama 3.2 -Analytics Vidhya 开始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

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

最佳AI聊天机器人比较(Chatgpt,Gemini,Claude&更多) 最佳AI聊天机器人比较(Chatgpt,Gemini,Claude&更多) Apr 02, 2025 pm 06:09 PM

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

顶级AI写作助理来增强您的内容创建 顶级AI写作助理来增强您的内容创建 Apr 02, 2025 pm 06:11 PM

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

向员工出售AI策略:Shopify首席执行官的宣言 向员工出售AI策略:Shopify首席执行官的宣言 Apr 10, 2025 am 11:19 AM

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

AV字节:Meta' llama 3.2,Google的双子座1.5等 AV字节:Meta' llama 3.2,Google的双子座1.5等 Apr 11, 2025 pm 12:01 PM

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

10个生成AI编码扩展,在VS代码中,您必须探索 10个生成AI编码扩展,在VS代码中,您必须探索 Apr 13, 2025 am 01:14 AM

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

选择最佳的AI语音生成器:评论的顶级选项 选择最佳的AI语音生成器:评论的顶级选项 Apr 02, 2025 pm 06:12 PM

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

See all articles