数据工程:如何用Apache Airflow构建数据管道

数据管道(Data Pipelines)难以构建和管理,因此最好使用特定的工具来帮助我们完成任务。Apache Airflow是一个非常流行的开源管理工作流平台,在本文中,您将学习如何使用它来自动化第一个工作流。

本文假设您已经知道如何创建和运行Bash和Python脚本。本教程使用Ubuntu 20.04,并安装了ImageMagick,tesseract和Python3。

如何准备工作流

一个重要的概念是,您将仅使用Airflow来自动化和管理任务,因此必须设计工作流并将其分解为Bash或Python脚本。

我们先创建一个工作流并手动运行它,然后了解如何使用Airflow将其自动化。

自动执行的任务

在本教程中,我们从pdf文件中提取数据并将其保存到csv文件中。

在这里插入图片描述

主要任务:

  1. 从pdf文件中提取文本并将其保存在txt文件中。
  2. 从文本文件中提取所需的元数据并将其保存到csv文件。

要运行第一个任务,我们使用ImageMagick工具将pdf页面转换为png文件,然后使用tesseract将图像转换为txt文件,这些任务将在Bash脚本中定义。要提取元数据,我们使用Python和正则表达式。

本文来自《数据黑客》,登录官网可阅读更多精彩资讯和文章。

1. 从pdf文件中提取文本

Bash脚本的工作流程如下:

  1. 接收pdf文件名作为参数
  2. 将页面转换为png文件
  3. 将图像转换为txt文件

Bash脚本代码:

#!/bin/bash  
PDF_FILENAME="$1"  
convert -density 600 "$PDF_FILENAME" "$PDF_FILENAME.png"  
tesseract "$PDF_FILENAME.png" "$PDF_FILENAME"

将bash脚本命名为pdf_to_text.sh,然后运行chmod +x pdf_to_text.sh并运行./pdf_to_text.sh pdf_filename来创建txt文件。可在此处下载pdf文件

2. 提取元数据并将其保存到csv

现在我们有了txt文件,是时候创建正则表达式来提取数据。目的是提取会议每个小时发生的事情。您可以通过使用一种模式来提取数据,该模式可以捕获小时数以及在此之后以及换行之前发生的事情。正则表达式模式:(\d:\d\d)-(\d:\d\d) (.*\n)

Python脚本代码:

import re  
import csv  

if __name__ == "__main__":  
    pattern = "(\d:\d\d)-(\d:\d\d) (.*\n)"  
    with open(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Apple TV和Chromecast上观看本地内容。 无需等待,无需索引,只需拖放即可观看。 确实没有任何简单的事情。 下载气流 复杂而独特的视频处理管道... 气流的心脏。它以最低的CPU负载确保了最佳的视频质量。 怎么样?气流透明地重新混合了可以重新混合的视频,并对需要转码的视频进行了转码。如果您的计算机支持,则代码转换可以硬件加速。听起来太技术性了吗?这就是我们构建Airflow的原因。它隐藏了所有讨厌的细节,并且可以正常使用TM。 大字幕支持 字幕很重要。与大多数类似软件不同,Airflow无需对视频进行转码即可显示文本字幕。这样可以提高视频质量并降低CPU负载。支持DVD和Bluray字幕。 擦洗预览 寻求不一定是个谜。借助即时清理预览,您可以知道在内容加载之前将要降落的位置。使用触摸遥控器进行擦洗时,在Apple TV 4上也可用。 播放清单和最后位置 通过Airflow,您可以将文件整理到播放列表中,从而观看多个剧集变得尽可能无缝。 Airflow会记住每个文件的播放位置。它还监视当前文件夹,并为新文件自动选择下一个文件以进行不间断的播放。 环绕声 Chromecast和Apple TV全面支持5.1音频。 Airflow与Airplay镜像或Chrome Tab镜像相比如何 镜像不适用于视频播放,通常会使视频质量出现问题。帧速率不正确,存在伪影和口吃。有了Airflow,您将一无所获。它是专为视频播放而设计的,可提供最佳的视频质量。包括Chromecast Ultra和Apple TV 4K上的4K HDR HEVC流。
Apache Airflow 数据编排实战》是一本介绍如何使用 Apache Airflow 进行数据编排的实战书籍。Apache Airflow 是一个开源的数据编排工具,它提供了一个可视化的界面来创建、调度和监控数据处理流程。 这本书包含了多个实战案例,从基本的数据摄取和清洗到复杂的数据转换和分析。它详细介绍了如何使用 Apache Airflow 的关键功能,如任务调度、依赖管理、错误处理和监控等,使读者能够快速上手并使用 Apache Airflow 构建稳定、可靠的数据处理流程。 书中的案例涵盖了多个数据领域,如电商、金融和社交媒体等。读者可以通过这些案例学习如何应用 Apache Airflow 处理具体的数据需求,了解如何在不同场景下配置和调整任务。此外,书中还介绍了一些最佳实践和技巧,帮助读者提高工作效率和代码质量。 《Apache Airflow 数据编排实战》还深入探讨了 Apache Airflow 的架构和扩展性。它介绍了如何配置和管理 Apache Airflow 的后端数据库、任务队列等关键组件。此外,书中还介绍了如何通过编写自定义插件和操作符来扩展 Apache Airflow 的功能,以满足特定的业务需求。 总的来说,这本书为读者提供了一个全面、系统的学习资源,帮助他们理解和使用 Apache Airflow 进行数据编排。无论是数据工程师、数据分析师还是开发人员,都可以从中获得宝贵的经验和技巧,提高数据处理流程的效率和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值