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

仮想環境を使用する各シェルに対して、仮想環境を有効化する必要があります。有効化すると、仮想環境のディレクトリを指すいくつかの環境変数が設定されます。

Bashで仮想環境を有効化するには、以下を実行します。

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

つまり、作成した仮想環境ディレクトリ内の`activate`スクリプトを実行します。

他のシェルを使用する場合の手順については、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のexamplesディレクトリには多くの例があります。すべての例は、例スクリプトで説明されている必要な引数を渡すことでローカルで実行できます。

たとえば、次のコマンドで`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`という形式でファイルを順次命名します。

次のステップ

問題が発生した場合は、お気軽にお問い合わせください