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

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...

人工知能

ジョナサン・ダムブロット、Cranium AIのCEO兼共同創設者- インタビューシリーズ

ジョナサン・ダムブロットは、Cranium AIのCEO兼共同創業者ですCranium AIは、サイバーセキュリティおよびデータサイエンスチ...

AIニュース

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

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

人工知能

「aiOlaのCEO兼共同創設者、アミール・ハラマティによるインタビューシリーズ」

アミール・ハラマティは、aiOlaのCEO兼共同創業者であり、スピーチを作業可能にし、どこでも完全な正確さで業界固有のプロセ...

人工知能

「トリントの創設者兼CEO、ジェフ・コフマンへのインタビューシリーズ」

ジェフ・コーフマンは、ABC、CBS、CBCニュースで30年のキャリアを持った後、Trintの創設者兼CEOとなりましたジェフは手作業の...

人工知能

「パクストンAIの共同創業者兼CEO、タングイ・シャウ - インタビューシリーズ」

タングイ・ショウは、Paxton AIの共同創設者兼CEOであり、法的研究と起草の負担を軽減するためにGenerative AIを使用するプラ...