Amazon Redshift編~Redshiftをはじめてみよう!パート④~

1. パート③

で設定したSQL workbenchで流し込みます。

201305170301

画面下部に実行結果が出力されます。

201305170302

データアップロード

  1. 公開されているサンプルデータをS3からコピーします。

下記のサンプルで必要箇所を書き換えて実行します。

1copy users from 's3://<region-specific-bucket-name>/tickit/allusers_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|';2copy venue from 's3://<region-specific-bucket-name>/tickit/venue_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|';3copy category from 's3://<region-specific-bucket-name>/tickit/category_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|';4copy date from 's3://<region-specific-bucket-name>/tickit/date2008_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|';5copy event from 's3://<region-specific-bucket-name>/tickit/allevents_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|' 6	timeformat 'YYYY-MM-DD HH:MI:SS';78copy listing from 's3://<region-specific-bucket-name>/tickit/listings_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|';9copy sales from 's3://<region-specific-bucket-name>/tickit/sales_tab.txt'CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>'10	  delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS';

**※サンプルがあるS3のバケット

**

US East (Northern Virginia) awssampledb

US West (Oregon) awssampledbuswest2

EU (Ireland) awssampledbeuwest1

  1. 今回はNorthern Virginia なので「awssampledb」バケットを指定します。

サンプルは大体16,17MBぐらいで大体4分弱でした。

201305170303
これでデータのインストールは完了です!

サンプルクエリーで確認

  1. それでは実際にクエリーを叩いて確認してみましょう。
1-- Get definition for the sales table.2SELECT *    3FROM pg_table_def    4WHERE tablename = 'sales';
1-- Find total sales on a given calendar date.2SELECT sum(qtysold) 3FROM   sales, date 4WHERE  sales.dateid = date.dateid 5AND    caldate = '2008-01-05';
1-- Find top 10 buyers by quantity.2SELECT firstname, lastname, total_quantity 3FROM   (SELECT buyerid, sum(qtysold) total_quantity4        FROM  sales5        GROUP BY buyerid6        ORDER BY total_quantity desc limit 10) Q, users7WHERE Q.buyerid = userid8ORDER BY Q.total_quantity desc;
1-- Find events in the 99.9 percentile in terms of all time gross sales.2SELECT eventname, total_price 3FROM  (SELECT eventid, total_price, ntile(1000) over(order by total_price desc) as percentile 4       FROM (SELECT eventid, sum(pricepaid) total_price5             FROM   sales6             GROUP BY eventid)) Q, event E7       WHERE Q.eventid = E.eventid8       AND percentile = 19ORDER BY total_price desc;
201305170304
201305170305
201305170306

成功すれば以下のような結果が出力されるかと思います!

201305170307
今回はここまでとなります!いかがでしたでしょうか?

次回は『 Amazon Redshit編~Redshiftをはじめてみよう!パート⑤~ 』ということで、WEBコンソール画面でパフォーマンス等を確認をしてみたいと思います。

お楽しみに!

この記事を書いた人

aws-recipe-user