適用於 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 發行版本的目錄樹。若要建立虛擬環境,請執行

python -m venv /path/to/directory
PS> python -m venv C:\path\to\directory

每個要使用虛擬環境的 shell 都需要啟用虛擬環境。啟用它會設定一些指向虛擬環境目錄的環境變數。

若要在 Bash 中啟用虛擬環境,請執行

. /path/to/directory/bin/activate
PS> C:\path\to\directory\Scripts\activate.ps1

也就是說,執行您建立的虛擬環境目錄下的 activate 腳本。

若要了解如何使用其他 shell,請參閱venv 文件

下載並安裝

從 PyPI 安裝最新的 Python SDK

pip install apache-beam
PS> python -m pip install apache-beam

額外需求

上述安裝不會安裝所有額外的相依性,以使用 Google Cloud Dataflow 執行器等功能。以下重點介紹了不同功能所需的額外套件資訊。可以使用類似 pip install 'apache-beam[feature1,feature2]' 的方式安裝多個額外需求。

執行管道

Apache Beam 範例目錄中有許多範例。所有範例都可以透過傳遞範例腳本中描述的必要引數在本機執行。

例如,使用以下命令執行 wordcount.py

python -m apache_beam.examples.wordcount --input /path/to/inputfile --output /path/to/write/counts
python -m apache_beam.examples.wordcount --input /path/to/inputfile \
                                         --output /path/to/write/counts \
                                         --runner SparkRunner
# 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/
This runner is not yet available for the Python SDK.

管道完成後,您可以在指定的輸出路徑檢視輸出檔案。例如,如果您為 --output 參數指定 /dir1/counts,則管道會將檔案寫入 /dir1/,並以 counts-0000-of-0001 格式依序命名檔案。

下一步

如果您遇到任何問題,請隨時聯絡我們