codingecho

日々の体験などを書いてます

Apache Beamで自作パッケージを使う方法

Cloud Dataflow pipeline上で自作パッケージを使う場合は setup.py を作成して --setup-file オプションで指定しなければなりません。

以下のようなディレクトリ構成で main.pymy-package に依存していたとします。

Dataflow
  |- my-package/
       |- helper.py
  |- main.py

main.py

from my-package.helper import Helper
...

このままだと main.py はCloud Dataflow上では動作しません。なので、 setup.py をルートディレクトリに作成する必要があります。

以下はsetup.pyのサンプルです。

setup.py

import setuptools

REQUIRED_PACKAGES = [
]

setuptools.setup(
    name='My pipeline',
    version='0.0.1',
    description='My dataflow package.',
    install_requires=REQUIRED_PACKAGES,
    packages=setuptools.find_packages(),
)

参考