第 4 章 数据导入 数据导入:提取数据
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
如第 3 章所述,ELT 模式是为数据分析、数据科学和数据产品而构建的数据管道的理想设计。 ELT 模式的前两个步骤,即提取和加载,统称为数据摄取。本章将讨论如何为这两个步骤设置开发环境和基础架构,并介绍从各种源系统中提取数据的具体方法。第 5 章讨论将生成的数据集加载到数据仓库中。
备注
本章中的提取和加载代码示例是完全相互分离的。第 7 章将讨论如何协调这两个步骤以完成数据摄取。
如第 2 章所述,有许多类型的源系统需要提取数据,也有许多目的地需要加载数据。此外,数据的形式多种多样,所有这些都给数据采集带来了不同的挑战。
本章和下一章包括从常用系统导出和导入数据的代码示例。代码经过高度简化,只包含最低限度的错误处理。每个示例都旨在为数据摄取提供一个易于理解的起点,但功能齐全,可扩展至更多可扩展解决方案。
备注
本章的代码示例将提取的数据写入 CSV 文件,然后加载到目标数据仓库中。 有时,在加载之前以另一种格式(如 JSON)存储提取的数据更有意义。在适用的情况下,我会指出您可能需要考虑进行这种调整的地方。
第 5 章还讨论了一些可以利用的开源框架,以及为数据工程师和分析师提供 "低代码 "数据摄取选项的商业替代方案。
设置 Python 环境
接下来的所有代码示例都是用 Python 和 SQL 编写的,并使用了当今数据工程领域常见的开源框架。 为简单起见,源和目的地的数量有限。不过,在适用的情况下,我会提供如何修改类似系统的说明。
要运行示例代码,您需要一台运行 Python 3.x 的物理机或虚拟机。
如果您的机器上没有安装 Python,您可以直接从他们那里获取适用于您操作系统的发行版和安装程序。
备注
以下命令是为 Linux 或 Macintosh 命令行编写的。在 Windows 上,可能需要将 Python 3 可执行文件添加到 PATH。
在安装本章使用的库之前,最好先创建一个虚拟环境来安装它们。 为此,您可以使用一个名为virtualenv 的工具。virtualenv 对于管理不同项目和应用程序的 Python 库很有帮助。它允许您在项目的特定范围内安装 Python 库,而不是全局安装。首先,创建一个名为env 的虚拟环境。
$ python -m venv env
虚拟环境已创建,请使用以下命令激活它:
$ source env/bin/activate
您可以通过两种方式验证虚拟环境是否已激活。首先,您会注意到命令提示符现在以环境名称为前缀:
(env) $
您还可以使用which python 命令来验证 Python 在哪里寻找库。您应该会看到类似下面的内容,它显示了虚拟环境目录的路径:
(env) $ which python env/bin/python
现在可以安全地安装后续代码示例所需的库了。
备注
在某些操作系统 (OS) 上,必须使用python3 而不是python 才能运行 Python 3.x 可执行文件。旧版本的操作系统可能默认使用 Python 2.x。您可以通过键入python --version 查找您的操作系统使用的 Python 版本。
在本章中,您将使用pip 安装代码示例中使用的库。 pip是大多数 Python 发行版随附的工具。
使用pip 安装的第一个库是configparser ,它将用于读取稍后添加到文件中的配置信息。 ...