LoginSignup
0
0

AWS Redshift でEverything It's you してみた!

Last updated at Posted at 2024-03-26

DEA(AWS Certified Data Engineer - Associate 認定)の勉強を兼ね Redshift を触ろうと、そのメモです。
4つ目のAssociate認定試験として、2024年から新設されましたね。

個人的には、 AWS Certified Database – Specialty は残っても良かったと思うけど、

Redshiftって?

フルマネージドのペタバイト級データウェアハウスサービスです。

準備

とりあえず何かしらデータをということで、ChagGPTにお願いしました。

image.png

このcsvファイルをS3にアップロードしておきます。

クラスタの作成

image.png

以下以外はデフォルトのまま作成しました。

データベース設定

「管理者パスワードを手動で追加する」にて、設定

IAMロール

S3に対してアクセスが必要

しばらく待ちます。

image.png

待つ

5分くらい待ちました。Availableになります。

image.png

クエリエディタ起動

クエリエディタv2を使ってS3からデータを集計してみます。

image.png

こんな感じのエディタが起動します。

image.png

左にあるクラスターを選択するとクラスターへの接続を聞かれますので、ユーザー名とパスワードで接続します。

image.png

接続されると以下のようにディレクトリが表示されます。

image.png

S3からデータをロード

Data Source を設定

「Load data」を押し、Data sourceを設定します。

image.png

File Formatで選択できるものは

フォーマット

image.png

オプション

image.png

圧縮方法

image.png

参考までに

Load from local fileを選択した場合は以下の画面になります。

image.png

Table options を設定

image.png

今回は新たにテーブルをロードするので、Load new table を選択します。
すると、S3にあるcsvファイルがロード、テーブルスキーマが解析され、以下の通りカラム情報が取得されます。

image.png

IAM roleとSchmea Tableを設定し、テーブルを作成します。

image.png

作成に成功したらデータをロードします。

image.png

クラスタにもテーブルがロードされているのがわかります。

image.png

実際にクエリを実行してみる

データのロードに成功したら、元の画面に戻るのでクエリを実行してみます。

image.png

全件取得

SELECT * from "everything-its-you";

image.png

リリース日指定

SELECT * from "everything-its-you"
WHERE "リリース日" = '1997-02-05';

image.png

Everything取得

SELECT * from "everything-its-you"
WHERE "タイトル" LIKE '%Everything%';

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119864/6965d37b-1a00-af0b-b40b-868cce8d70c6.png)

ミリオンセール??

SELECT * from "everything-its-you"
WHERE "総売上" >= 1000000;

image.png

おやっと・・。よく見たらスキーマが間違えていましたね。「初週売上」と「総売上」が文字列扱いされてしまってます。

スキーマを変更して正しく集計されるように

続く

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0