Python 版 WordCount 快速入门
本指南将向你展示如何设置 Python 开发环境,获取 Apache Beam SDK for Python,以及运行示例管道。
如果你有兴趣为 Apache Beam Python 代码库贡献代码,请查看 贡献指南。
Python SDK 支持 Python 3.8、3.9、3.10、3.11 和 3.12。Beam 2.48.0 是最后一个支持 Python 3.7 的版本。
设置你的开发环境
有关详细信息,请查看 设置你的开发环境。
获取 Apache Beam
创建并激活虚拟环境
虚拟环境是一个目录树,包含其自己的 Python 发行版。要创建虚拟环境,请运行
每个要使用虚拟环境的 shell 都需要激活它。激活它会设置一些环境变量,这些变量指向虚拟环境的目录。
要激活 Bash 中的虚拟环境,请运行
也就是说,执行你创建的虚拟环境目录下的 activate
脚本。
有关使用其他 shell 的说明,请查看 venv 文档。
下载并安装
从 PyPI 安装最新的 Python SDK
额外需求
上面的安装不会安装使用 Google Cloud Dataflow 运行器等功能所需的所有额外依赖项。以下将重点介绍不同功能所需的额外软件包。可以使用类似 pip install 'apache-beam[feature1,feature2]'
的命令安装多个额外需求。
- Google Cloud Platform
- 安装命令:
pip install 'apache-beam[gcp]'
- 需要用于
- Google Cloud Dataflow 运行器
- GCS IO
- Datastore IO
- BigQuery IO
- 安装命令:
- Amazon Web Services
- 安装命令:
pip install 'apache-beam[aws]'
- 需要用于与 AWS 交互的 I/O 连接器
- 安装命令:
- Microsoft Azure
- 安装命令:
pip install 'apache-beam[azure]'
- 需要用于与 Microsoft Azure 交互的 I/O 连接器
- 安装命令:
- Beam YAML API
- 安装命令:
pip install 'apache-beam[yaml]'
- 需要用于使用 Beam YAML API
- 安装命令:
- Beam YAML Dataframe API
- 安装命令:
pip install 'apache-beam[dataframe]'
- 需要用于使用 Beam Dataframe API
- 安装命令:
- 测试
- 安装命令:
pip install 'apache-beam[test]'
- 需要用于开发 Beam 并运行单元测试
- 安装命令:
- 文档
- 安装命令:
pip install 'apache-beam[docs]'
- 需要使用 Sphinx 生成 API 文档
- 安装命令:
执行管道
Apache Beam 示例 目录包含许多示例。所有示例都可以通过传递示例脚本中描述的必需参数在本地运行。
例如,运行 wordcount.py
,使用以下命令
# As part of the initial setup, install Google Cloud Platform specific extra components. Make sure you
# complete the setup steps at /documentation/runners/dataflow/#setup
pip install apache-beam[gcp]
python -m apache_beam.examples.wordcount --input gs://dataflow-samples/shakespeare/kinglear.txt \
--output gs://<your-gcs-bucket>/counts \
--runner DataflowRunner \
--project your-gcp-project \
--region your-gcp-region \
--temp_location gs://<your-gcs-bucket>/tmp/
管道完成后,你可以在指定输出路径查看输出文件。例如,如果你为 --output
参数指定 /dir1/counts
,则管道会将文件写入 /dir1/
,并按顺序命名文件,格式为 counts-0000-of-0001
。
后续步骤
- 详细了解 Beam SDK for Python,并查看 Python SDK API 参考。
- 获取 Beam 的交互式概述
- 在 WordCount 示例演练 中逐步浏览这些 WordCount 示例。
- 通过我们精选的 学习资源 进行自定进度的导览。
- 深入研究我们最喜欢的 视频和播客。
- 加入 Beam users@ 邮件列表。
如果你遇到任何问题,请随时 联系我们!
最后更新于 2024/10/31
你找到你想要的一切了吗?
一切都有用且清晰吗?是否有你想更改的内容?请告诉我们!