Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データ前処理のお作法 ワークフローの高速化編_Macromill - Dec, 2019
Search
Ryota Mori
December 06, 2019
Programming
0
1.5k
データ前処理のお作法 ワークフローの高速化編_Macromill - Dec, 2019
2019年12月6日の「第9回 Alteryx User Group in 東京」で共有したTips
https://alteryx-ug.connpass.com/event/151757/
Ryota Mori
December 06, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2k
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
4.9k
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
280
愛される翻訳の秘訣
kishikawakatsumi
3
370
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
150
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
GoLab2025 Recap
kuro_kurorrr
0
790
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
440
Basic Architectures
denyspoltorak
0
160
Deno Tunnel を使ってみた話
kamekyame
0
300
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
180
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
570
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
340
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
The SEO identity crisis: Don't let AI make you average
varn
0
44
Information Architects: The Missing Link in Design Systems
soysaucechin
0
730
Designing for humans not robots
tammielis
254
26k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
35
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Visualization
eitanlees
150
16k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
Test your architecture with Archunit
thirion
1
2.1k
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
データ前処理のお作法 ワークフローの高速化編 Alteryx User Group in Tokyo – Dec, 2019
Ryota Mori Manager Product Development Unit Group2 Digital Product Department
© Macromill, Inc. 2 Tipsの前に
© Macromill, Inc. 3 速く処理できると何が嬉しい? 手戻りが怖くない 試行錯誤がたくさんできる データの品質向上や、 より多くの知見を得ることに繋がる 処理中の物忘れが減る
無用なミスが削減される 同じお作法を元にフローが 作成できる 迷わずさくさくフローが構築できる メンバーの作るフローが標準化される (引継ぎコスト削減、他人が作成した フローの意図が読みやすい) 1 2 3
Alteryxのワークフロー実行を高速化するTips
© Macromill, Inc. 5 とりあえずIn-DBを活用する • データがDBにあれば極力In-DBで処理 • DBサーバーで処理済みのデータが Alteryxを実行している環境に
DLされるのでネットワークが ボトルネックになりづらい • DBにないデータも、定期的に DBに格納しておけない?を 考慮しましょう 通常のワークフロー In-DBを活用したワークフロー 処理前の比較的大きい状態にアクセスする DB側で処理済みの比較的小さい状態にアクセスする DB
© Macromill, Inc. 6 Input Dataをyxdb形式にしておく • インプットファイルが非常に大きいケースで有効なことがある • データ更新が高頻度で、それを随時反映しなければいけないケースには向かない
(運用を考える)
© Macromill, Inc. 7 入力データを制限する • フローを構築中はデータ読み込みの量を制限すると効率よくフロー作成ができる (ツールを配置/設定したあとに実行して意図通り動いているか確認する) • 入力データがyxdb
or DBのときに効果的に働きやすい • 最後に制限を解除することを忘れない
© Macromill, Inc. 8 ツールの順番 ツールの順番を入れ替えても同じ結果が得られる場合、 その順番を意識しているでしょうか?
© Macromill, Inc. 9 ツールの順番 ユニオン セレクト フィルタ 集計 フォーミュラ
転置/クロスタブ 結合 同じ処理を複数のところでさせない 適切な型はデータサイズ削減につながる セレクトの後にして使いまわししやすく • データのサイズを小さくできる処理を序盤 に持って行く • 時間のかかる処理はデータを十分に小さく してから処理する 考え方のベース
© Macromill, Inc. 10 ツールの順番 ユニオン セレクト フィルタ 集計 フォーミュラ
転置/クロスタブ 結合 実行後にデータが小さくなる処理 実行に時間がかかる処理
© Macromill, Inc. 11 ツールの順番 セレクトツールで適切に型を指定するとファイルサイズが大きく削減される
© Macromill, Inc. 12 ツールの順番 • 1億レコードのSample – Superstoreで 実行速度を比較してみた
• 環境やツールの設定によって処理速度は 異なるが、概ねこのような傾向がある
© Macromill, Inc. 13 閲覧ツールを無効化する
© Macromill, Inc. 14 パフォーマンスを記録してボトルネックを探る
© Macromill, Inc. 15 フロー作成も高速化する
© Macromill, Inc. 16 ツールをお気に入りに入れておく • 不要なものは逆に削除しておく • 定期的な見直しをする
© Macromill, Inc. 17