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
340
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
730
日本におけるデータエンジニアリングのこれまでとこれから
foursue
19
5.9k
技育祭2023春 ちゅらデータ講演資料
foursue
1
1.8k
dbtでデータ品質活動
foursue
8
5.8k
dbtvaultはここまでできる
foursue
2
6.6k
今日わかるデータメッシュ!!!
foursue
1
860
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
3
7k
dbtvault on snowflake
foursue
0
5.7k
Other Decks in Programming
See All in Programming
Unity Android XR入門
sakutama_11
0
180
自力でTTSモデルを作った話
zgock999
0
100
React 19アップデートのために必要なこと
uhyo
8
1.5k
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
110
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
810
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
Formの複雑さに立ち向かう
bmthd
1
930
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
280
ML.NETで始める機械学習
ymd65536
0
230
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Practical Orchestrator
shlominoach
186
10k
Gamification - CAS2011
davidbonilla
80
5.2k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Fireside Chat
paigeccino
34
3.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
370
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
KATA
mclloyd
29
14k
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*"-