Apache Beam データに対する ETL 処理を、様々なランタイムで同じコードで実行できるようにするものです。 これは Google Cloud Dataflow のモデルを元に OSS 化されたもので、バッチ処理とストリーム処理を(ほぼ)同じコードで実装できたり、 Hadoop や Spark 、 Dataflow など複数の実行環境に対応していたりします。 標準では Java と Python 向けの SDK が用意されていますが、前者はシンタックスが独特であり後者はまだ機能が乏しく、発展途上感が否めない部分があります。 本記事では Java SDK をラップしつつ機能追加をされた、 Spotify 製ライブラリ Scio を使って Apache Beam による ETL 処理の実装に入門してみようと思います。 そもそも標準の SDK はどんな感じ? 公式ページのドキュメント が
![Scala + Scio で Apache Beam あるいは Google Cloud Dataflow に入門する - ブログ・ア・ラ・クレーム](https://cdn-ak-scissors.b.st-hatena.com/image/square/25fea0054ca0ecb43812e1b2beeba9f3a9bb6ece/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fsyu_cream%2F20171020%2F20171020005438.png)