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
COPYコマンドって知ってる?
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
HimekaKawaguchi
August 28, 2024
Technology
130
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
36
社内Slackでバズっている投稿が知りたい!
himekakawaguchi
0
52
Azure Functions を使って社内Slackで今週バズってる投稿が知りたい!
himekakawaguchi
0
120
Other Decks in Technology
See All in Technology
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
490
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
100
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
560
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
790
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
310
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
9
4k
kintone の AI コワーカーを、 Anthropic にエージェントを"ホストさせて"作った話 #devkinmeetup
sugimomoto
0
110
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
420
ガバナンスの「ちょうどいい落とし所」を探れ!開発スピードを妨げない運用判断の勘所 / SRE NEXT 2026
genda
1
250
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
420
Into the Great Unknown - MozCon
thekraken
41
2.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building the Perfect Custom Keyboard
takai
2
810
Paper Plane
katiecoart
PRO
2
52k
Accessibility Awareness
sabderemane
1
160
Abbi's Birthday
coloredviolet
3
8.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
So, you think you're a good person
axbom
PRO
2
2.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
300
Technical Leadership for Architectural Decision Making
baasie
3
440
WCS-LA-2024
lcolladotor
0
710
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