Apache Beamパイプラインの作成でのMap、Filter、およびCombinePerKeyトランスフォームの例を使用しています

Apache BeamパイプラインでのMap、Filter、CombinePerKeyトランスフォームの例を使用しています

写真 by JJ Ying on Unsplash

実データで実践しましょう

Apache Beamは、効率的で移植性のあるビッグデータ処理パイプラインの統一されたプログラミングモデルとして人気が高まっています。バッチデータとストリーミングデータの両方に対応できます。その名前の由来です。Beamは、BatchとStreamの単語を組み合わせたものです:

B(Batch)+ eam(stream)= Beam

移植性も素晴らしい機能です。パイプラインの実行に焦点を当てるだけで、Spark、Flink、Apex、またはCloud Dataflowなどのどこからでも実行できます。そのために論理や構文を変更する必要はありません。

この記事では、例を使用してETLパイプラインの作成方法に焦点を当てます。良いデータセットを使用していくつかの変換操作を試し、これらの変換操作が皆さんの仕事でも役立つことを願っています。

このパブリックデータセットをダウンロードして、一緒に進めてください:

サンプル販売データ | 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!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AIニュース

Q&A:ブラジルの政治、アマゾンの人権、AIについてのGabriela Sá Pessoaの見解

ブラジルの社会正義のジャーナリストは、MIT国際研究センターのフェローです

人工知能

「ジャスティン・マクギル、Content at Scaleの創設者兼CEO - インタビューシリーズ」

ジャスティンは2008年以来、起業家、イノベーター、マーケターとして活動しています彼は15年以上にわたりSEOマーケティングを...

人工知能

『DeepHowのCEO兼共同創業者、サム・ジェン氏によるインタビューシリーズ』

ディープハウのCEO兼共同創設者であるサム・ジェンは、著名な投資家から支持される急速に進化するスタートアップを率いていま...

人工知能

「15Rockの共同創業者兼CEO、ガウタム・バクシ氏によるインタビューシリーズ」

「ガウタム・バクシは、気候リスク管理とアドバイザリーサービスのグローバルリーダーである15Rockの共同創設者兼CEOですガウ...

機械学習

もし芸術が私たちの人間性を表現する方法であるなら、人工知能はどこに適合するのでしょうか?

MITのポストドクターであるジヴ・エプスタイン氏(SM '19、PhD '23)は、芸術やその他のメディアを作成するために生成的AIを...

人工知能

スコット・スティーブンソン、スペルブックの共同創設者兼CEO- インタビューシリーズ

スコット・スティーブンソンは、Spellbookの共同創設者兼CEOであり、OpenAIのGPT-4および他の大規模な言語モデル(LLM)に基...