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
データアナリストが行うDatabricksを活用したETLの自動化事例
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinoa Nishikawa
April 05, 2024
Programming
770
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データアナリストが行うDatabricksを活用したETLの自動化事例
Shinoa Nishikawa
April 05, 2024
Other Decks in Programming
See All in Programming
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
5.7k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.8k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
120
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
510
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
Oxcを導入して開発体験が向上した話
yug1224
4
310
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
7
4.3k
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
さぁV100、メモリをお食べ・・・
nilpe
0
140
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
330
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
330
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Being A Developer After 40
akosma
91
590k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
New Earth Scene 8
popppiees
3
2.3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
データアナリストが行う Databricksを活用したETLの自動化事例 2024.4.5
西川 史乃亜 2 所属:株式会社BuySell Technologies テクノロジー戦略本部データサイエンス部 略歴:2022年6月に株式会社Buysell Technologiesに入社。 データアナリストとして、データ分析・効果検証・データの可視化、
アナリティクスエンジニアリング( Databricks)を担当。 前職もBuySell Technologiesと同じリユース系の会社で、 デジタルマーケティング・事業企画・新規事業企画などを経験。 趣味:飼っている猫たちと遊ぶ、筋トレ、よさこい(旗士)
02 03 01 アジェンダ バイセルの事業紹介とデータ事情 3 Databricksの活用事例 まとめ
01 バイセルの事業紹介とデータ事情
5 バイセルグループのリユースビジネス グループ各社がそれぞれの強みを活かして、買取から販売まで、幅広い商材を取り扱う総合リユースビジネスを展開しています。 特に出張訪問買取事業は業界最大級の規模で全国展開する、バイセルの強みです。 着物・切手・貴金属・ ブランド品・時計 等 買取 店舗・催事 店舗
販売 一般 顧客 外部 業者 EC販売 催事 卸販売 オークション ・自社EC(バイセルオンライン 等) ・ECモール(ヤフオク!・楽天 等) 着物・ブランド品・時計・お酒 等 ・越境EC(ライブコマース 等) ジュエリー、ブランド品等 ・百貨店 着物 ・他社市場、相対取引 等 貴金属・ジュエリー・切手 等 ・自社市場(タイムレスオークション) 時計・ジュエリー・ブランド品 等 一般 顧客 出張訪問・ 宅配・店舗 販売顧客 買取顧客 買取商品
6 プロダクト群「バイセルリユースプラットフォーム Cosmos」の開発が進行中 リユースに必要なすべての機能を提供する 「リユースプラットフォーム Cosmos」の開発が進行中です。 Cosmosを活用して、バイセルグループ全体での業務効率改善やデータドリブン経営の深化を目指しています。 リユースプラットフォーム Cosmos 自社開発のリユース特化業務基幹システムでありサービス群の集合体
買取申込 買取・査定 在庫管理 販売 多様なチャネルで収益最大化 CRM -顧客対応- 買取種別に応じた最適なシステム構築 Visit -訪問買取 - Store -店舗買取 - Promas -商材マスタ - Appraisal -専門査定 - Stock -在庫管理 - EXS -販売管理 - Core -会員管理- Portal -データ利用- Pocket -データ基盤- 買取 専門チームによる真贋・査定と連携 査定 申込 効率的な顧客対応 在庫 在庫管理の最適・効率化 販売 データ 各事業プロセスにある データを一元管理 :基幹システム
7 プロダクト群「バイセルリユースプラットフォーム Cosmos」の開発が進行中 リユースに必要なすべての機能を提供する 「リユースプラットフォーム Cosmos」の開発が進行中です。 Cosmosを活用して、バイセルグループ全体での業務効率改善やデータドリブン経営の深化を目指しています。 リユースプラットフォーム Cosmos 自社開発のリユース特化業務基幹システムでありサービス群の集合体
買取申込 買取・査定 在庫管理 販売 多様なチャネルで収益最大化 CRM -顧客対応- 買取種別に応じた最適なシステム構築 Visit -訪問買取 - Store -店舗買取 - Promas -商材マスタ - Appraisal -専門査定 - Stock -在庫管理 - EXS -販売管理 - Core -会員管理- Portal -データ利用- Pocket -データ基盤- 買取 専門チームによる真贋・査定と連携 査定 申込 効率的な顧客対応 在庫 在庫管理の最適・効率化 販売 データ 各事業プロセスにある データを一元管理 :基幹システム 全てのデータを集約 (BigQuery)
• 前提:各プロダクトのRDBはBigQueryに同期している • 課題:ExcelやCSV、Googleスプレッドシートのデータや外部ツールのデータが RDB、 BigQueryに格納されていない ◦ 手元で集計しているデータ / 独自で管理しているマスタ
/ 外部サービスのデータ( Google、Kintoneなど)/ パブリック データ(統計データ、気象データなど) • 影響:事業部サイドでデータ分析が進めにくい 8 Databricks導入前の背景と課題
• 前提:各プロダクトのRDBはBigQueryに同期している • 課題:ExcelやCSV、Googleスプレッドシートのデータや外部ツールのデータが RDB、 BigQueryに格納されていない ◦ 手元で集計しているデータ / 独自で管理しているマスタ
/ 外部サービスのデータ( Google、Kintoneなど)/ パブリック データ(統計データ、気象データなど) • 影響:事業部サイドでデータ分析が進めにくい 9 Databricks導入前の背景と課題 「RDBのデータと独自で集めたデータを組み合わせてデータ分析が行える環境」を 整備することが必要
02 Databricksの活用事例
11 Databricksを活用した 扱いやすいデータ基盤の構築 • RDBに入っていないデータは、Databricksを用いてインポート。 • メダリオンアーキテクチャに基づいて扱いやすいデータレイクを構築。 • Bronze ◦
未加工データ。データの重複などを含む • Silver ◦ クレンジング済みデータ。データの重複を 除去し、使いやすいようにデータの分割や 結合を施したデータ。 • Gold ◦ ビジネスレベルに特化されたデータ。 BI ツールから参照されるデータ。
• 業務効率化 • データガバナンス強化 12 Databricksを活用するメリット
• 背景・課題: ◦ Search ConsoleのデータがRDBやBigQueryに未格納 ◦ Search Consoleからデータを手動でエクスポートし、 ExcelやGoogleスプレッド シート上でBigQueryから取得したデータと突合する必要があった
◦ 多くのサイトの分析を日々行なっているため、データ処理が煩雑化していた 13 例01:Google Search Console APIを 利用した各サイトデータの自動取得 (業務効率化)
14 例01:Google Search Console APIを 利用した各サイトデータの自動取得 (業務効率化)
• 解決方法: ◦ Databricks上でGoogle Search Console APIを実行 ◦ 分析に必要なデータを取得、整形 しBigQueryに格納
◦ 毎日指定時間にジョブが実行さ れ、取得可能な最新データが蓄積 されていく 15 例01:Google Search Console APIを 利用した各サイトデータの自動取得 (業務効率化)
16 例01:Google Search Console APIを 利用した各サイトデータの自動取得 (業務効率化)
• ポイント: ◦ リクエスト時に渡すパラメータはデータ利用者と相談して決める ◦ Google側のデータ遅延等によりデータが上手く取得できない場合もあるため、開 発者側でエラーを認知できるようにしておく 17 例01:Google Search
Console APIを 利用した各サイトデータの自動取得 (業務効率化)
• 背景・課題: ◦ 使用しているCTIツールとBigQueryが未連携 ◦ ツールからCSVを手動でエクスポートし、Googleスプレッドシート上でデータを加 工し、データ集計や分析を行っていた 18 例02:RDBやBigQueryに連携できない ツールからエクスポートしたCSVの
自動取込(業務効率化)
19 例02:RDBやBigQueryに連携できない ツールからエクスポートしたCSVの 自動取込(業務効率化)
• 解決方法: ◦ CTIツールからCSVをエクスポートする 部分は引続き手動で実施 ◦ エクスポートしたCSVを指定のGoogleド ライブに格納 ◦ Databricks上でGoogle
Drive APIを利 用しCSVデータを取得 ◦ データ加工後、BigQueryに格納 20 例02:RDBやBigQueryに連携できない ツールからエクスポートしたCSVの 自動取込(業務効率化)
21 例02:RDBやBigQueryに連携できない ツールからエクスポートしたCSVの 自動取込(業務効率化)
• ポイント: ◦ BigQueryに格納されたCSVを処理中にアーカイブフォルダに移動させる ◦ 未格納のCSVがあるかどうか検知する処理を定期実行し、 CSVデータの格納漏 れがあれば関係者に通知する 22 例02:RDBやBigQueryに連携できない
ツールからエクスポートしたCSVの 自動取込(業務効率化)
• 背景・課題: ◦ データは取得するタイミングによって値が異なっている、且つ事業部ごとにデータ の粒度やSQLのロジックもバラバラ ◦ 事業部間で「正しい数値」の認識にズレが生じていた ◦ データ量の関係でプロダクトのRDBに確定データを蓄積していくのは難しい( 15万
~900万件レコードが入っているCSVファイルが数ファイル分) 23 例03:確定データ自動取得 (ガバナンス強化)
24 例03:確定データ自動取得 (ガバナンス強化)
• 解決方法: ◦ 正しいロジックを元に組まれた SQLをプロダクト側で実行 ◦ 出力結果をCSV化し、外部スト レージに格納 ◦ Databricksで外部ストレージに格
納されているCSVを取得した後、 データをBigQueryに格納 25 例03:確定データ自動取得 (ガバナンス強化)
26 例03:確定データ自動取得 (ガバナンス強化)
• ポイント: ◦ 外部ストレージに格納されたCSVデータとBigQueryに格納されたデータに欠損が ないかチェック(レコード件数で比較) ◦ BigQueryに格納されたデータをデータソースとして、 LookerStudio上でダッシュ ボードを作成(複雑なSQLを事業部側で構築する必要も無くなった) 27
例03:確定データ自動取得 (ガバナンス強化)
03 まとめ
• 事業部が独占していたデータが自由に取れるようになり、他部署の業務理解が進んだ • 手動で行っていた集計の工数が削減され、分析業務に集中できるようになった • 使用しているツールの仕様上、閲覧できる期間や表示件数に制限があったが、必要な データが全てBigQueryに取り込まれているため、データ分析作業が捗るようになった 29 データ利用者の反応
• Databricksは柔軟性が高く、エンジニアではないアナリストでも簡単にデータを集めるこ とができる • データを集める中で業務効率化やデータガバナンス強化も実現可能 • 事業部が独占していたデータが民主化され、全社でのデータ活用が促進された 30 まとめ
バイセルでは今後もDatabricksを活用し、グループ全体のデータ活用を 促進していきます 31 まとめ
THANK YOU 32