Amazon Redshift編~圧縮ファイルをインポートしてみよう!~


こんにちは!中の人です。

前回のレシピに引き続き、今回もAmazon Redshift編です!
前回は『Amazon Redshift編~複数ファイルを一括インポートしてみよう!~』ということで記述しました。

今回のレシピでは『Amazon Redshift編~圧縮ファイルをインポートしてみよう!~』と題して、圧縮のファイルのインポート方法について説明いたします。

それでは、さっそく作業をおこなっていきましょう!

サンプルは前回と同様に郵便番号のデータを利用します。
ただし、郵便番号のデータはlzhで圧縮されているので、一度解凍してgzipで圧縮する必要があります。
Windowsの場合、gzip形式に圧縮できるツールはgzip home page(www.gzip.org)など限られています。

事前準備

http://www.post.japanpost.jp/zipcode/dl/oogaki.html
上記URLより全国一括「ken_all.lzh」をダウンロードし、解凍します。
解凍したファイルをテキストエディタで開き、UTF-8Nのフォーマットで保存します。
※日本語を扱う場合は必ずUTF-8Nで保存する必要があります。

1. 以下のコマンドでCSVファイルをgzip形式で圧縮します。

2. 出力したデータ(KEN_ALL.CSV.gz)をRedshiftと同じリージョンのS3に対してアップロードします。

テーブルの作成

ここからはRedshiftに対する操作です。
前回のレシピ同様、SQL Workbenchを起動させ、Redshiftに対して接続します。

3. 郵便番号情報用にテーブルを作成します。

※全国データではカラムがサイズが足りなかったため、一部変更しています。

データのインポート

2013061401

○前回との変更点
copy [インポート先のtable] from ‘[圧縮ファイルのパス]’ delimiter ‘,’ removequotes GZIP; インポートするファイルが圧縮形式であることを指定します。

データの確認

4. データの確認として以下を実行してみます。

2013061402

東京都の登録データ 3734件がヒットしたことが確認できます。

いかがでしたでしょうか?
圧縮ファイルのインポートもよくおこなう作業かと思いますので是非、確認してみてください!

次回は「Amazon Redshift~データをインポートしてみよう!(エラー編)~」と題して、いくつかのエラーとその対処方法について紹介します。
お楽しみに!