Apache Beamパイプラインの作成でのMap、Filter、およびCombinePerKeyトランスフォームの例を使用しています
Apache BeamパイプラインでのMap、Filter、CombinePerKeyトランスフォームの例を使用しています
実データで実践しましょう
Apache Beamは、効率的で移植性のあるビッグデータ処理パイプラインの統一されたプログラミングモデルとして人気が高まっています。バッチデータとストリーミングデータの両方に対応できます。その名前の由来です。Beamは、BatchとStreamの単語を組み合わせたものです:
B(Batch)+ eam(stream)= Beam
移植性も素晴らしい機能です。パイプラインの実行に焦点を当てるだけで、Spark、Flink、Apex、またはCloud Dataflowなどのどこからでも実行できます。そのために論理や構文を変更する必要はありません。
この記事では、例を使用してETLパイプラインの作成方法に焦点を当てます。良いデータセットを使用していくつかの変換操作を試し、これらの変換操作が皆さんの仕事でも役立つことを願っています。
- 主成分分析の確率的な視点
- 「HuggingFace Transformers ツールとエージェント:ハンズオン」
- 「xAI:イーロン・マスクの新しいAIベンチャーがウェブサイトの公開と共にそのミッションを明らかにする」
このパブリックデータセットをダウンロードして、一緒に進めてください:
サンプル販売データ | Kaggle
この演習ではGoogle Colabノートブックを使用しています。そのため、インストールは非常に簡単です。次のコードを使用してください:
!pip install --quiet apache_beam
インストールが完了したら、この演習のために名前が「data」のディレクトリを作成しました:
mkdir -p data
今日のトピックである変換操作について深入りしてみましょう。まず、単純なパイプラインから始めます。CSVファイルを読み込んでテキストファイルに書き込みます。
これはPandasのread_csv()メソッドほど簡単ではありません。coder()操作が必要です。まず、ここでCustomCoder()クラスが定義され、オブジェクトをバイト文字列にエンコードし、バイトを対応するオブジェクトにデコードし、最後にこのコーダが値を決定論的にエンコードすることが保証されているかを指定しています。ドキュメントをご確認ください。
これが最初のパイプラインである場合、パイプラインの構文に注意してください。CustomCoder()クラスの後に最も単純なパイプラインがあります。最初に空のパイプライン「p1」として初期化しました。次に、作成したデータフォルダからCSVファイルを読み込む「sales」パイプラインを作成しました。Apache Beamでは、各変換操作は…
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles