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
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
35
社内Slackでバズっている投稿が知りたい!
himekakawaguchi
0
48
Azure Functions を使って社内Slackで今週バズってる投稿が知りたい!
himekakawaguchi
0
120
Other Decks in Technology
See All in Technology
Mastering Ruby Box
tagomoris
3
150
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
1k
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
760
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
2.7k
はじめてのDatadog
kairim0
0
280
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
190
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
そのPoC、何を検証したつもりでしたか? AIプロダクトの価値検証で陥った落とし穴
techtekt
PRO
0
150
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
160
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
220
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
49
54k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Thoughts on Productivity
jonyablonski
76
5.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
Making Projects Easy
brettharned
120
6.7k
Raft: Consensus for Rubyists
vanstee
141
7.5k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
Visualization
eitanlees
152
17k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Balancing Empowerment & Direction
lara
6
1.1k
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