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
Snowparkで扱う非構造化データ
Search
numa
October 09, 2021
Programming
0
230
Snowparkで扱う非構造化データ
2021-10-05 Snowflake BUILD.local Japan
での登壇資料
numa
October 09, 2021
Tweet
Share
More Decks by numa
See All by numa
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
330
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
730
日本におけるデータエンジニアリングのこれまでとこれから
foursue
19
5.9k
技育祭2023春 ちゅらデータ講演資料
foursue
1
1.8k
dbtでデータ品質活動
foursue
8
5.7k
dbtvaultはここまでできる
foursue
2
6.6k
今日わかるデータメッシュ!!!
foursue
1
850
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
3
6.9k
dbtvault on snowflake
foursue
0
5.7k
Other Decks in Programming
See All in Programming
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.3k
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
780
2024年のWebフロントエンドのふりかえりと2025年
sakito
2
250
Software Architecture
hschwentner
6
2.1k
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
10
3.6k
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
560
Open source software: how to live long and go far
gaelvaroquaux
0
630
技術を根付かせる / How to make technology take root
kubode
1
250
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
390
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
ARA Ansible for the teams
kksat
0
150
Featured
See All Featured
A better future with KSS
kneath
238
17k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
The Language of Interfaces
destraynor
156
24k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
What's in a price? How to price your products and services
michaelherold
244
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Documentation Writing (for coders)
carmenintech
67
4.6k
Transcript
4OPXQBSLͰѻ͏ඇߏԽσʔλ 1MBZJOHXJUI6OTUSVDUVSFE%BUB6TJOH4OPXQBSL 4OPXGMBLF#6*-%MPDBM+BQBO $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
"(&/%" $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- • จ໌ͷརث4OPXQBSL • ͏Կා͘ͳ͍ • ͦ͏ݴͬͯ/PUFCPPLͰ࡞ۀ͠·͢Μ • ͍ʔ͍
• ͑ɺඇߏԽσʔλྑ͍ͷ͔ʁ • ͓͔ΘΓ͋Δͧ • ͦΕͰ͜ΕΑΓ܇࿅Λ࢝ΊΔ
ͬͦ͘͞Ͱ͕͢ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
จ໌ͷརثͱ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
࣭తจԽͷൃୡʹΑΓͨΒ͞Εͨɺ ศརͳػցɾث۩ɻ d8FCMJPࣙॻΑΓd $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ࠓจ໌ͷརث 4OPXQBSLΛ ͝հ͠·͢ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ҰݴͰ͍͏ͱ 4OPXQBSL ͱ 4OPXGMBLF Λ 4QBSL ͷΑ͏ʹѻ͑Δ ͍ͭ͢͝Ͱ͋Δ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ҰݴͰ͍͏ͱ 4OPXQBSL ͱ 4OPXGMBLF Λ 4QBSL ͷΑ͏ʹѻ͑Δ ͍ͭ͢͝Ͱ͋Δ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ҰݴͰ͍͏ͱ 4OPXQBSL ͱ 4OPXGMBLF Λ 4QBSL ͷΑ͏ʹѻ͑Δ ͍ͭ͢͝Ͱ͋Δ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ࠓ֮͑ͯؼΓ͍ͨ̏4
ເͷதͰѭͬͨɺΑ͏ͳɾɾɾɾɾ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ͍ʔ͏ͪɺ4QBSLͷࢿ࢈͕ଟͯ͘ɺ ϚΠάϨʔγϣϯߟ͑ΔͱίετϝϦοτ͕ʜ 4OPXGMBLF ࠷ۙɺྑ͍ͬͯฉ͘Μ͚ͩͲʜ &5-4QBSLͬͯΔ͔ΒͶ͐ʜ /PUFCPPL͔ΒΞυϗοΫʹ4QBSL࣮ߦͯ͠ΔΜͰɺ %8)͋Μ·Γඞཁͳ͍ΜͰ͢ΑͶʜ
ͦΕͱͬͯخ͍͠ͳͬͯ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ͍ʔ͏ͪɺ4QBSLͷࢿ࢈͕ଟͯ͘ɺ ϚΠάϨʔγϣϯߟ͑ΔͱίετϝϦοτ͕ʜ 4OPXGMBLF ࠷ۙɺྑ͍ͬͯฉ͘Μ͚ͩͲʜ &5-4QBSLͬͯΔ͔ΒͶ͐ʜ /PUFCPPL͔ΒΞυϗοΫʹ4QBSL࣮ߦͯ͠ΔΜͰɺ %8)͋Μ·Γඞཁͳ͍ΜͰ͢ΑͶʜ حɺ4OPXQBSL
͋ΔΜͩΑ
͏Կා͘ͳ͍ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- 4QBSLͷࢿ࢈͕ʜ &5-4QBSLͰͬͯ ΔΜͰʜ ϚΠάϨʔγϣϯί ετߟ͑Δͱʜ /PUFCPPLͰ4QBSL࣮ ߦͯ͠ΔΜͰʜ 4OPXQBSL
/PUFCPPL Ͱಈ͔ͦ ಈ͔͢·Ͱ΄Μͱʹ؆୯ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ̍ ̎ ̏ 4OPXUJSF DMPOF ͯ͠
EPDLFS Ͱىಈ /PUFCPPL Ͱ 4OPXQBSL Πϯετʔϧ /PUFCPPL ͔Β 4OPXQBSL ࣮ߦʂʂʂ ࢀߟɿ4OPXQBSLΛγϡγϡͬͱ࢝ΊΔ 4OPXUJSFΛͬͯ IUUQTRJJUBDPNGPVSTVFJUFNTDDCFDDECBF
࣮ࡍʹͬͯݟΑ͏ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
%&.0 $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
$IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
؆୯ͦ͏ͳͷΘ͔͕ͬͨɺཪଆͲ͏ͳͬͯΜͷʁ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ཪଆͲ͏ͳͬͯΔͷʁ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- 4OPXQBSL 42-จ 4&-&$5IPHF '30. GVHB /PUFCPPLʹ 4QBSLॻ͘ 4QBSL
42- ʹม͢Δ /PUFCPPL
͍͔͕Ͱͨ͠Ͱ͠ΐ͏͔ʁ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ࠓ4OPXQBSLΛʂʂ ̏4Λʂʂ ͓΅͑ͯؼ͍ͬͯͩ͘͞ʂʂ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ɾɾɾ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
͔ʔΒʔͷʔ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
ඇߏԽσʔλʹ͍ͭͯ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
͓͞Β͍ɿߏԽσʔλɺߏԽσʔλ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ߏԽσʔλ ߏԽσʔλ ͲΜͳ ϑΝΠϧʁ $47ʜ +40/ɺ03$ɺ"WSPɺ 1BSRVFUɺ9.-ʜ σʔλͷதʹσʔλ͕ೖΔΑ
͏ͳϑΝΠϧ 4OPXGMBLFͩͱ Ͳ͏͏ʁ ςʔϒϧʹ ϩʔυͯ͠͏ ςʔϒϧʹ ϩʔυͯ͠͏
ߏԽσʔλɺߏԽσʔλɺඇߏԽσʔλ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ߏԽσʔλ ߏԽσʔλ ඇߏԽσʔλ ͲΜͳ ϑΝΠϧʁ $47ʜ +40/ɺ03$ɺ"WSPɺ 1BSRVFUɺ9.-ʜ
σʔλͷதʹσʔλ͕ೖΔΑ ͏ͳϑΝΠϧ ը૾ɺಈըɺ1%'ʜ 4OPXGMBLFͩͱ Ͳ͏͏ʁ ςʔϒϧʹ ϩʔυͯ͠͏ ςʔϒϧʹ ϩʔυͯ͠͏ εςʔδʹ ϑΝΠϧΛஔ͍ͯ͏ ݄ʹΞφϯε͞Ε ݄ʹύϒϦοΫϓϨϏϡʔʹͳΓ·ͨ͠
4OPXGMBLFͷඇߏԽσʔλ༻ͷओͳػೳ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- εςʔδ 63- 42- • ඇߏԽσʔλεςʔ δઃஔͰ͖Δ • ෦ɾ֎෦ͲͪΒͷε
ςʔδඇߏԽσʔλ Λઃஔͯ͠ར༻Մೳ • ֎෦εςʔδͳΒ "NB[PO4ɺ(PPHMF $MPVE4UPSBHFɺ .JDSPTPGU"[VSFͷͲ͜ʹ ઃஔ0, • ඇߏԽσʔλʹ63- ΛͬͯΞΫηεՄೳ • 63-ͷछྨ࣍ͷ͕ͭ ͋Δ • είʔϓ63- • ϑΝΠϧ63- • ࣄલॺ໊ࡁΈ63- • ༻్ʹԠͯ͡63-Λ͍ ͚Α͏ • εςʔδΫΤϦ͢Δͨ ΊͷσΟϨΫτϦςʔϒ ϧͱ͍͏ػೳ͕৽ొ • σΟϨΫτϦςʔϒϧΛ ͑ɺεςʔδʹઃஔ ͞ΕͨඇߏԽσʔλͷ ใʹΫΤϦͰΞΫηε Ͱ͖Δ • ඇߏԽσʔλ༻ʹ42- ؔՃ͞Εͨ
ࢲ͕ඇߏԽσʔλΛѻ͏ͱ͖ͷύλʔϯ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ඇߏԽσʔλΛε ςʔδʹ্͛Δ ֎෦'6/$5*0/͏ 4OPXQBSL͏ த෦'6/$5*0/ ෦'6/$5*0/͏ '6/$5*0/ఆٛ࣌ʹґଘϑΝΠ ϧͱͯ͠ॲཧରͷϑΝΠϧΛ
هड़͢ΔͱϑΝΠϧΛ4OPXGMBLF ্ͰॲཧͰ͖Δ 63-ΛؔͷҾʹͯ͠ɺ֎ ෦͔ؔΒ63-Λͬͯඇߏ ԽσʔλͷϑΝΠϧʹΞΫηε ͯ͠ॲཧ͢Δ " # $
ࢲ͕ඇߏԽσʔλΛѻ͏ͱ͖ͷύλʔϯ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"- ඇߏԽσʔλΛε ςʔδʹ্͛Δ ֎෦'6/$5*0/͏ 4OPXQBSL͏ த෦'6/$5*0/ ෦'6/$5*0/͏
" # $ ͜ΕΛͪΐͬͱ͓ݟͤ͠·͢ '6/$5*0/ఆٛ࣌ʹґଘϑΝΠ ϧͱͯ͠ॲཧରͷϑΝΠϧΛ هड़͢ΔͱϑΝΠϧΛ4OPXGMBLF ্ͰॲཧͰ͖Δ 63-ΛؔͷҾʹͯ͠ɺ֎ ෦͔ؔΒ63-Λͬͯඇߏ ԽσʔλͷϑΝΠϧʹΞΫηε ͯ͠ॲཧ͢Δ
࣮ࡍͬͯݟΔ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
%&.0 $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
$IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
͓͠·͍ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
σϞཪ 4OPXQBSL͔Βεςʔδʹ͋Δ ඇߏԽσʔλͬͯΞΫηε Ͱ͖ͳ͍ΜͰ͔͢ʂʁ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
͋ͨͬͯ͠ɺ΄ΜͱόΧ KBSʹ͠ͳ͍ͱΞΫηεͰ͖ͳ͍ ʢKBSʹͳͬͯΕͰ͖Δʣ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
͍͘͠ʂ͍͔ͭϦϕϯδ͠·͢ʂ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
·ͨͶʙ $IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-
$IVSB%"5"JOD13013*&5"3:$0/'*%&/5*"-