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
240
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
360
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
750
日本におけるデータエンジニアリングのこれまでとこれから
foursue
19
5.9k
技育祭2023春 ちゅらデータ講演資料
foursue
1
1.9k
dbtでデータ品質活動
foursue
8
5.9k
dbtvaultはここまでできる
foursue
2
6.8k
今日わかるデータメッシュ!!!
foursue
1
870
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
3
7.2k
dbtvault on snowflake
foursue
0
5.8k
Other Decks in Programming
See All in Programming
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2.3k
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
170
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
3
1.3k
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
3.3k
goにおける コネクションプールの仕組み を軽く掘って見た
aronokuyama
0
140
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
6
3k
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
requirements with math
moony
0
520
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
370
Return of the Full-Stack Developer
simas
PRO
1
320
2025/3/18 サービスの成長で生じる幅広いパフォーマンスの問題を、 AIで手軽に解決する
shirahama_x
0
160
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
360
Featured
See All Featured
Unsuck your backbone
ammeep
670
57k
The Language of Interfaces
destraynor
157
24k
Building an army of robots
kneath
304
45k
Why Our Code Smells
bkeepers
PRO
336
57k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
The Invisible Side of Design
smashingmag
299
50k
KATA
mclloyd
29
14k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Thoughts on Productivity
jonyablonski
69
4.5k
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*"-