LoginSignup
0
0

More than 1 year has passed since last update.

AWS Redshiftにてテーブルを作成してデータをロードする編

Posted at

AWS RedShiftにてテーブルへデータをロードする際に苦戦したメモ

1.テーブルの生成(CREATE TABLE)

redshiftに作成したインスタンスにテーブルを生成。
charのsize5で生成したつもり
createtbl.png

出来上がったテーブルを見るとchar(1)になっている
createtbl_kekka.png
原因は不明
仕方ないのでSQLで再生成

DROP TABLE "public"."tbl_test2";
CREATE TABLE "public"."tbl_test2" ( test1 character(5) NOT NULL encode lzo, 
test2 character varying(256) encode lzo, test3 integer encode az64, test4 time 
without time zone encode az64, test5 date encode az64, CONSTRAINT 
tbl_test2_pkey PRIMARY KEY(test1));

ようやく正しく生成
createtbl_kekka2.png

2.CSVからデータをロード

S3にアップロードしたCSVファイルへアクセスする為には事前にロール設定が必要です
こちらを参考にしてみて下さい

今回もウィザードを使用
load_csv.png
生成されるSQLはcopy

COPY dev.public.tbl_tenpo (test1,test2,test3,test4,test5)
FROM 's3://younet-s3/test.csv'
IAM_ROLE 'arn:aws:iam::9999999999:role/redshift-full-roll'
FORMAT AS CSV DELIMITER ',' QUOTE '"' REGION AS 'ap-northeast-1'

データ不備でロードエラーになるとその結果がsys_load_error_detail に格納される為、下記SQLにてエラーの内容を確認してデータを修正

SELECT query_id,
       table_id,
       start_time,
       trim(column_name) AS column_name, 
       trim(column_type) AS column_type,
       trim(error_message) AS error_message
FROM sys_load_error_detail 
ORDER BY start_time DESC
LIMIT 1; 

Redshiftにて生成したテーブルにデータを投入するまででした。

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