# Amazon Redshift (日本語)

Amazon Redshift DatabaseからExploratoryに素早くデータをインポートすることができます。

Redshiftについて詳しく紹介した[ブログ記事](https://blog.exploratory.io/exploratory-data-analysis-for-amazon-redshift-with-r-dplyr-9a14441020eb#.aqcbfa6h8)はこちらです。

## 1. 使用するデータコネクションを作成する

[この手順](https://docs.exploratory.io/data_import/database-data/connection)に従って、接続を作成します。

## 2. Redshift インポートダイアログを開く

データフレームの横にある「＋」ボタンをクリックし、「Database Data」を選択します。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN-qBMezITjny_pQQ%2Fimport-database.png?generation=1586795453631702\&alt=media)をクリックします。

Amazon Redshiftをクリックして選択します。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN66k4YJQfHTwMU5I%2Fredshift.png?generation=1586795459845940\&alt=media)

## 3. プレビューとインポート

実行ボタンをクリックすると、Redshift データベースから取得してきたデータを確認することができます。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN66mzrfS3x8GJpWw%2Fimport-redshift-dialog.png?generation=1586795460214677\&alt=media)

問題ないようであれば、「インポート」をクリックしてExploratoryにデータをインポートします。

## 4. ランダムサンプルデータのクエリ

分析に適したサイズのデータからランダムにサンプルを取りたい場合があります。

[md5](http://docs.aws.amazon.com/redshift/latest/dg/r_MD5.html)関数を使って乱数を生成し、以下のように使用することでデータのランダムサンプルを得ることができます。

```
SELECT *
   FROM airline_2016_01
   ORDER BY md5('randomSeed' || flight_num)
   LIMIT 100000
```

## 5. SQLでパラメータを使用する

まず、SQL データインポートダイアログのパラメータリンクをクリックします。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN2yAtTsqxNt3r0_M%2Fadd_parameter.png?generation=1586795457457840\&alt=media)をクリックします。

次に、パラメータを定義し、\[保存]ボタンをクリックします。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN2yC4K_GmMFFjzoo%2Fdefine_parameter.png?generation=1586795457181349\&alt=media)

最後に、クエリ内の変数名を@{}で囲むと、以下のようになります。

```
select *
from airline_2016_01
where carrier = @{carrier}
```

を入力すると、以下のようなパラメータが表示されます。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN2yEXevqQptAWUEl%2Finsert_param_in_query.png?generation=1586795457117048\&alt=media)のようになります。

詳しくはこちらの[ブログ記事](https://exploratory.io/note/kanaugust/An-Introduction-to-Parameter-in-Exploratory-WCO4Vgn7HJ)をご覧ください。

## 6. AWSセキュリティグループの設定

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN66v_0i1voeo7Yp-%2Fredshift4.png?generation=1586795460765180\&alt=media)

データベース接続エラーが発生した場合は、AWSコンソールにアクセスし、Redshiftクラスタに関連付けられたセキュリティグループ（Inbound側に）にクライアントPCのIPアドレスが追加されていることを確認してください。

## 7. 実際の行数

パフォーマンスの観点から、クエリ全体を再実行しないと取得できない、実際の行数を表示しないようにしました。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN66xWkcCxqo19jUZ%2Fsql_number_of_rows.png?generation=1586795460160662\&alt=media)

それでもクエリの結果の実数を表示したい場合は、システム設定により表示させることができます。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN66zCHttnANqtQHx%2Fnum_of_rows_config_menu.png?generation=1586795459932943\&alt=media)

そして、"SQLデータインポートダイアログで実際の行数を表示"を「はい」に設定します。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN670aVGCuTHA4oG4%2Fnum_of_rows_config.png?generation=1586795460286823\&alt=media)

これにより、以下のように実際の行数が表示されます。

![](https://2850417076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4HLCK3olgduYoe3RVS%2F-M4oMvCUDQwHTJ0eWi_f%2F-M4oN6725Fzzj5A208wn%2Factual_num_of_rows.png?generation=1586795460230058\&alt=media)

## 8. Rとdplyrを使ったAmazon Redshiftの探索的データ分析

ブログ記事R & dplyrによるAmazon Redshiftの探索的データ分析への[リンクはこちらです](https://blog.exploratory.io/exploratory-data-analysis-for-amazon-redshift-with-r-dplyr-9a14441020eb)。
