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
850
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
3
7k
dbtvault on snowflake
foursue
0
5.7k
Other Decks in Programming
See All in Programming
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
150
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
100
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
230
コードを読んで理解するko build
bells17
1
100
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
ソフトウェアエンジニアの成長
masuda220
PRO
12
2k
GAEログのコスト削減
mot_techtalk
0
120
Better Code Design in PHP
afilina
0
160
React 19アップデートのために必要なこと
uhyo
7
1.3k
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.5k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
230
Jakarta EE meets AI
ivargrimstad
0
140
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Producing Creativity
orderedlist
PRO
344
40k
Why Our Code Smells
bkeepers
PRO
336
57k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
980
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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*"-