Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloud Dataflow
Search
株式会社Curious Vehicle
February 14, 2025
0
18
Cloud Dataflow
株式会社Curious Vehicle
February 14, 2025
Tweet
Share
More Decks by 株式会社Curious Vehicle
See All by 株式会社Curious Vehicle
ElasticsearchのHA構成について
curicle
0
2
機械学習で絶対音感になりたかった
curicle
0
5
BQにおけるSQLアンチパターンとslot消費削減策
curicle
0
10
VibeKanbanについて
curicle
0
5
"バーチャル宮本さん"を作ってみた
curicle
0
5
"バーチャル宮本さん” 本番デプロイ編
curicle
0
7
最近課金しているAIサービスについて
curicle
0
11
Pub_Sub
curicle
0
4
音声認識について
curicle
0
7
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Docker and Python
trallard
47
3.7k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Typedesign – Prime Four
hannesfritz
42
2.9k
GitHub's CSS Performance
jonrohan
1032
470k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Scaling GitHub
holman
464
140k
Transcript
Cloud Dataflow by Google Cloud Platform
contents • Dataflowとは • Dataflow機能概要 • デモ • まとめ •
Code Tips
Dataflow とは Cloud Dataflow Cloud Dataflow • Dataflowとは ストリーム処理とバッチ処理をフルマネー ジドしてくれるサービス
• GCPを利用することでサーバなどの運用を気にせず データ処理を簡単に実装できる • リソース周りもオートスケールで管理してくれるのでリ ソース管理も不要となる • Java, Python, Goなどの言語で開発可能 (Apache Beam SDK)
Dataflow 構成概要 BigQuery Bigtable Datastore Cloud PubSub Cloud Storage Dataflow
What can dataflow do • Pipeline • Transform • Window
& Trigger • PipelineIO • Groupby & Combine
Pipeline • 各種入力チェックや処理の流れを Pipelineとして自由に組み立てられます • Pipelineを利用して処理の分岐や結合する ことも可能です
Transform • 入力は ファイルであれば1行、DBであれば1レコードづつが Transformのinputとし 各種データ変換処理を行うブロックです • Transformの処理は並列処理されます (ParDo)
PipelineIO • データの流入元と出力先 (始点と終点)のライブラリ群 • ベーシックなものとしては FileIOなどだが、GCP関連はほぼIOライブラリが揃っている
Window and Trigger • Windowを設定することで永続的な Stream処理とすることができます • Windowには以下のような種類がある • Fixed
Time Windows • Sliding Time Windows • Per-Session Windows • Single Global Window • Calendar Based Windows
Window and Trigger • Triggerは各種Windows内の処理を放出するタイミングを設定する • Triggerには以下のような種類がある • Event Time
Triggers • Processing Time Triggers • Data-driven Triggers • Composite Triggers
GroupBy and Combine • 並列処理されているものをまとめる処理 (flattenなどもある) • 以下GroupByの例。分散処理していたものをシーケンシャル処理する際に設定する
詳しくはコチラ https://beam.apache.org/documentation/programming-guide/
デモ
まとめ • ストリーム処理などに手を出そうと考えている人にはよいきっかけになると思う • 構成の自由度が高いので様々なデータをまとめたり中間処理を枝分かれさせたりと GCP の各機能を連携するハブとして有効な機能と思われます • 若干、遅くない?、高くない?といった部分が気になりますが、サーバーレス、 GCPとの相
性など使われる場は増えてゆきそうです
Thanks!