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
170
Snowparkで扱う非構造化データ
2021-10-05 Snowflake BUILD.local Japan
での登壇資料
numa
October 09, 2021
Tweet
Share
More Decks by numa
See All by numa
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
550
日本におけるデータエンジニアリングのこれまでとこれから
foursue
17
4.9k
技育祭2023春 ちゅらデータ講演資料
foursue
1
1.7k
dbtでデータ品質活動
foursue
7
5k
dbtvaultはここまでできる
foursue
2
5.2k
今日わかるデータメッシュ!!!
foursue
1
670
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
2
5k
dbtvault on snowflake
foursue
0
4.8k
DataVault2.0をご紹介
foursue
5
4.9k
Other Decks in Programming
See All in Programming
教えて!スクラムコーチ品質とスピードのバランスはどうすりゃいいの?
pinboro
0
160
TypeScriptのパフォーマンス改善
yajihum
14
5.2k
The World is a Network (and We Are Just Nodes)
whatyouhide
0
100
HonoのRPCで真の型安全が欲しかった
kosei28
1
170
Slackワークフローで感謝を伝える機能/WiFi 自動接続/Figma to React Component/障害レポート君 Team3@NOT A HOTEL
nakaohiroshi
0
250
Namespace, What and Why
tagomoris
4
1.5k
RuboCop: LSP and Prism
koic
1
110
FoodGram
iseruuuuu
0
230
スタックトレース始めてみた
kuro_kurorrr
5
1.2k
RubyGems on ruby.wasm
kateinoigakukun
0
160
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
620
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
5
330
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
226
17k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Optimizing for Happiness
mojombo
371
69k
Scaling GitHub
holman
457
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Thoughts on Productivity
jonyablonski
60
3.9k
A better future with KSS
kneath
231
16k
Agile that works and the tools we love
rasmusluckow
325
20k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Into the Great Unknown - MozCon
thekraken
15
1.1k
BBQ
matthewcrist
80
8.8k
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*"-