Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
COPYコマンドって知ってる?
Search
HimekaKawaguchi
August 28, 2024
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
COPYコマンドって知ってる?
HimekaKawaguchi
August 28, 2024
More Decks by HimekaKawaguchi
See All by HimekaKawaguchi
若手エンジニアの成長記- 技術以外に大事なこと -
himekakawaguchi
0
49
社内Slackでバズっている投稿が知りたい!
himekakawaguchi
0
61
Azure Functions を使って社内Slackで今週バズってる投稿が知りたい!
himekakawaguchi
0
130
Other Decks in Technology
See All in Technology
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
340
AI Native Platform Engineering 〜PlatformとAgileで“作る速さ”を“価値”へ〜
uya116
0
570
『GOエコノミー 』(相乗りサービス) におけるスペック駆動開発
mot_techtalk
1
120
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
140
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
670
私の推しは「聞いてから進む」AIです -AI-DLCに一人でアプリを作らせた話
yama3133
0
150
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
1
120
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
3
21k
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
650
Account Factory for Terraformによる 標準化されたアカウント発行の自動化
pensuke628
0
120
形式手法を使って仕様をコーディングしよう
mikanichinose
0
160
KanaAI
shreyas1009
0
140
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
BBQ
matthewcrist
89
10k
GitHub's CSS Performance
jonrohan
1033
470k
Balancing Empowerment & Direction
lara
6
1.3k
Un-Boring Meetings
codingconduct
0
430
The Curse of the Amulet
leimatthew05
3
15k
Product Roadmaps are Hard
iamctodd
55
13k
The SEO Collaboration Effect
kristinabergwall1
1
580
Code Review Best Practice
trishagee
74
20k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Transcript
COPYコマンド って知ってる? Amazon S3からDWHへのデータ移行 2024/08/28 クラウドLT大会vol.10 セゾンテクノロジー 川口媛香
アジェンダ • はじめに • DWHへのデータの取り込み • DWHをSnowflakeに変更したい • やってみた •
まとめ 2
はじめまして Himeka Kawaguchi 川口 媛香 2022年入社 3年目 データ活用によるお客様の業務効率化を目指すPJに参画 ドメインの理解とエンジニアリングの習熟の両立に奮闘する日々 業務で使用する技術:Snowflake・Power
BI・Tableauなど 3 Qiitaやってます~
業務内容を少しだけ HULFT Squareを用いてデータ分析基盤を構築、内製化を支援 お客様システム DWH BI ダッシュボード 4
業務内容を少しだけ HULFT Squareを用いてデータ分析基盤を構築、内製化を支援 お客様システム DWH BI ダッシュボード 5
DWHへのデータの取り込み DWHへのデータの取り込みにはデータレイクを挟むことが多い データレイク DWH BI ダッシュボード お客様システム 6
DWHへのデータの取り込み ▪DWHにAmazon Redshiftを選んだ場合 Amazon S3からCOPYコマンドで取り込み Amazon S3 Amazon Redshift COPY
コマンド データレイク DWH 7
COPYコマンドとは COPY コマンドは Amazon Redshift の超並列処理 (MPP) アーキテクチャを使用し、 複数のデータソースからデータを並列で読み込んでロードします。 Amazon
S3 のデータファイル、Amazon EMR、または Secure Shell (SSH) 接続でアクセス可能なリモー トホストからロードできます。 あるいは Amazon DynamoDB テーブルから直接ロードできます。 https://docs.aws.amazon.com/ja_jp/Amazon Redshift/latest/dg/r_COPY.html AWSが提供する Amazon S3などデータをAmazon Redshiftへ取り込むコマンドのこと COPYコマンドを使えば 簡単にAmazon Redshiftへデータを取り込むことが出来る! 8
DWHへのデータの取り込み ▪Amazon Redshift Amazon S3 Amazon Redshift COPY コマンド データレイク
DWH COPY <table_name> FROM 's3://<bucket_name>/<object_prefix>' authorization; Amazon S3もAmazon Redshiftも同じAWSサービスなので コマンド1つでデータを入れられるのは分かる 9
データ分析基盤 Amazon S3 (データレイク) Amazon Redshift (DWH) BI ダッシュボード お客様システム
▪DWHにAmazon Redshiftを選んだ場合 10
データ分析基盤 Amazon S3 (データレイク) Snowflake (DWH) BI ダッシュボード お客様システム ▪DWHをSnowflakeに変更したい
データ分析基盤を作る私たちが考えること 出来るだけ改修を減らしたい(今あるものをそのまま使えないか?) 11
DWHをSnowflakeに変更したい Amazon S3 (データレイク) Snowflake (DWH) BI ダッシュボード お客様システム データ連携基盤を作る私たちが考えること
出来るだけ改修を減らしたい(今あるものをそのまま使えないか?) 課題 ・ Amazon S3のデータはSnowflakeへ取り込めるのか? Amazon S3 にあるデータは別のデータレイクに移動する必要があるか >出来ればデータを移動させる手間は無くしたい 12
出来るんです!COPYコマンドで! 13
Amazon S3からSnowflakeへCOPYできる! ・どうやって? Snowflakeが提供するCOPYコマンドを使う >Amazon S3のデータを移動せず、Snowflake に取り込むことが出来る >DWHの変更だけで済む(開発者も、お客様も楽) COPY INTO
<テーブル> ステージングされたファイルから既存のテーブルにデータをロードします。ファイルは、次のいずれかの場所に既にス テージングされている必要があります。 https://docs.snowflake.com/ja/sql-reference/sql/copy-into-table ・COPYコマンドとは? Snowflakeが提供するコマンドのこと Amazon S3やGoogle Cloud Storageなどのストレージから取り込み可能 14
COPYコマンドを比べてみた! COPY <table_name> FROM 's3://<bucket_name>/<object_prefix>' authorization; ▪AWS ▪Snowflake 取り込み元の記法が違う程度(Amazon S3>バケット、Snowflake>ステージ)
構文の違いはほぼ無い(同じ感覚で使用できる) COPY customer FROM 'Amazon S3://dir/hsq_data.csv’ COPY INTO customer FROM @EXT_STAGE_TEST/hsq_data.csv COPY INTO [<namespace>.]<table_name> FROM { internalStage | externalStage …} 15
DWHをSnowflakeに変更したい Amazon S3 (データレイク) Snowflake (DWH) BI ダッシュボード お客様システム 課題
・ Amazon S3のデータはSnowflakeへ取り込めるのか? Amazon S3 にあるデータは別のデータレイクに移動する必要があるか >お客様の作業になることが多い、出来れば移動の手間は無くしたい 解決策 ・ SnowflakeのCOPYコマンドを使用する ・ Amazon S3のデータを取り込めるので、データレイクは変更不要 16
気になる… Snowflakeはクラウドプラットフォームを選択する >どのクラウド上でSnowflakeを動かすのか ということは… データレイクは選択したクラウドプラットフォームと 同じクラウドのサービスで無いといけないのでは? ここで1つの疑問が ・AWS → Amazon
S3 ・Google Cloud → Google Cloud Storage ・Azure → Microsoft Azure BLOBストレージ 17
Snowflakeへの取り込み 調べてみると アカウントのクラウドとデータレイクに使用するサービスのクラウドは関係ないとのこと Snowflakeは、Snowflakeアカウントのクラウドプラットフォームに関係なく、 次のいずれかの場所にステージングされたファイルからのデータのロードをサポートしています。 https://docs.snowflake.com/ja/user-guide/intro-cloud-platforms 注釈 異なるプラットフォーム間でステージングされたファイルからデータをロードする場合、データ転送請求料金が適用さ れる場合があります。詳細については、 データ転送のコストについて
をご参照ください。 この目で確かめたい!ということで実際にやってみた 18
やってみた HULFT Squareを使って Amazon S3のデータを Microsoft Azure上で動く Snowflakeに取り込んでみた! 19
用意したもの ・ HULFT Square ・ Amazon S3 ・ Snowflakeトライアルアカウント クラウドプロバイダー>Microsoft
Azureを選択 ※アカウント作成時に選択します 20
Amazon S3 (データレイク) Snowflake (DWH) やってみた 21
Amazon S3 (データレイク) Snowflake (DWH) やってみた HULFT Square COPY INTO
TEST_DB.TEST_SC.CUSTOMER FROM (SELECT $1,$2,$3,$4 FROM @EXT_STAGE_TEST/hsq_data.csv); 22
Amazon S3 (データレイク) Snowflake (DWH) やってみた 23
Amazon S3 (データレイク) Snowflake (DWH) やってみた 24
やってみた -結果- Microsoft Azure環境で動くSnowflakeに Amazon S3のデータを取り込むことは可能! 25 データが取り込まれている!
学び・気づき • 業務内容から視野を広げることが出来た 業務で扱っていると当たり前のように感じるが視野を広げて考えると誰かに とっては新しい学びになることに気づけた。 学びは自分のものだけにするのでは無く、発信をして、みんなの学びにして いきたいと思った。 • 実際に手を動かして自分の目で確かめてみることは大事 ドキュメントを読んで終わりにするのでは無く、自分の手で検証することで、
ドキュメントの読み込みでは得られない知識を身につけられた。 26
まとめ Amazon S3からDWHへのデータ取り込みには COPYコマンドが使える ・AWSやSnowflakeが提供するCOPYコマンドがある ・Amazon S3など様々なデータレイクからデータ取り込みが実現可能 27
28