AWS Data Pipeline は、新規顧客には利用できなくなりました。の既存のお客様 AWS Data Pipeline は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon RDS から Amazon Redshift へのテンプレート
以下の 2 つのテンプレートでは、変換スクリプトを使用して、Amazon RDS MySQL から Amazon Redshift にテーブルをコピーします。変換スクリプトでは、ソーステーブルのスキーマを使用して Amazon Redshift テーブルが作成されます。以下の点に注意してください。
-
分散キーを指定しなかった場合は、Amazon RDS テーブルの最初のプライマリキーが分散キーとして設定されます。
-
Amazon Redshift へのコピーを実行するときに、Amazon RDS MySQL のテーブルにある列を省略することはできません。
-
(オプション) テンプレートに含まれるパラメータの 1 つとして、Amazon RDS MySQL から Amazon Redshift への列データ型マッピングを指定することができます。指定した場合、スクリプトではこれを使用して Amazon Redshift テーブルが作成されます。
Overwrite_Existing
Amazon Redshift 挿入モードが使用されている場合、次のようになります。
-
分散キーを指定しなかった場合は、Amazon RDS MySQL テーブルのプライマリキーが使用されます。
-
テーブルに複合プライマリキーが存在し、分散キーが指定されていない場合は、最初の複合プライマリキーが分散キーとして使用されます。Amazon Redshift テーブルでは、最初の複合キーのみがプライマリキーとして設定されます。
-
分散キーが指定されず、Amazon RDS MySQL テーブルにプライマリキーが存在しない場合、コピー操作は失敗します。
Amazon Redshift の詳細については、次のトピックを参照してください。
-
Amazon Redshift COPY
次の表では、スクリプトでデータ型がどのように変換されるかを示しています。
MySQL のデータ型 | Amazon Redshift のデータ型 | Notes (メモ) |
---|---|---|
TINYINT, TINYINT (size) |
SMALLINT |
MySQL: -128 ~ 127。最大桁数を括弧内に指定できます。 Amazon Redshift: INT2。符号付き 2 バイト整数 |
TINYINT UNSIGNED、 TINYINT (size) UNSIGNED |
SMALLINT |
MySQL: 0 ~ 255 UNSIGNED。最大桁数を括弧内に指定できます。 Amazon Redshift: INT2。符号付き 2 バイト整数 |
SMALLINT, SMALLINT(size) |
SMALLINT |
MySQL: -32768 ~ 32767 normal。最大桁数を括弧内に指定できます。 Amazon Redshift: INT2。符号付き 2 バイト整数 |
SMALLINT UNSIGNED、 SMALLINT(size) UNSIGNED、 |
INTEGER |
MySQL: 0 ~ 65535 UNSIGNED*。最大桁数を括弧内に指定できます。 Amazon Redshift: INT4。符号付き 4 バイト整数 |
MEDIUMINT、 MEDIUMINT(size) |
INTEGER |
MySQL: 388608 ~ 8388607。最大桁数を括弧内に指定できます。 Amazon Redshift: INT4。符号付き 4 バイト整数 |
MEDIUMINT UNSIGNED、 MEDIUMINT(size) UNSIGNED |
INTEGER |
MySQL: 0 ~ 16777215。最大桁数を括弧内に指定できます。 Amazon Redshift: INT4。符号付き 4 バイト整数 |
INT, INT(size) |
INTEGER |
MySQL: 147483648 ~ 2147483647 Amazon Redshift: INT4。符号付き 4 バイト整数 |
INT UNSIGNED、 INT(size) UNSIGNED |
BIGINT |
MySQL: 0 ~ 4294967295 Amazon Redshift: INT8。符号付き 8 バイト整数 |
BIGINT BIGINT(size) |
BIGINT |
Amazon Redshift: INT8。符号付き 8 バイト整数 |
BIGINT UNSIGNED BIGINT(size) UNSIGNED |
VARCHAR(20*4) |
MySQL: 0 ~ 18446744073709551615 Amazon Redshift: 同等のネイティブ型がないため、char 配列を使用します。 |
FLOAT FLOAT(size,d) FLOAT(size,d) UNSIGNED |
REAL |
最大桁数を size パラメータで指定できます。小数点以下の最大桁数は d パラメータで指定します。 Amazon Redshift: FLOAT4。 |
DOUBLE(size,d) |
DOUBLE PRECISION |
最大桁数を size パラメータで指定できます。小数点以下の最大桁数は d パラメータで指定します。 Amazon Redshift: FLOAT8。 |
DECIMAL(size,d) |
DECIMAL(size,d) |
固定小数点数を使用するための、文字列として格納される DOUBLE。最大桁数を size パラメータで指定できます。小数点以下の最大桁数は d パラメータで指定します。 Amazon Redshift: 同等のネイティブ型はありません。 |
CHAR(size) |
VARCHAR(size*4) |
固定長の文字列を格納します。これには、文字、数字、特殊文字を含めることができます。固定サイズは括弧内パラメータで指定します。255 文字まで格納できます。 右側にスペースが埋め込まれます。 Amazon Redshift: CHAR データ型ではマルチバイト文字がサポートされていないため、VARCHAR が使用されます。 1 文字あたりの最大バイト数は 4(RFC3629 |
VARCHAR(size) | VARCHAR(size*4) |
255 文字まで格納できます。 VARCHAR では、以下の無効な UTF-8 コードポイントがサポートされていません: 0xD800 ~ 0xDFFF(バイトシーケンス: ED A0 80 ~ ED BF BF)、0xFDD0 ~ 0xFDEF、0xFFFE、0xFFFF(バイトシーケンス: EF B7 90 ~ EF B7 AF、EF BF BE、EF BF BF) |
TINYTEXT | VARCHAR(255*4) | 最大長 255 文字の文字列を格納します |
TEXT | VARCHAR(max) |
最大長 65,535 文字の文字列を格納します。 |
MEDIUMTEXT | VARCHAR(max) |
0 ~ 16,777,215 文字 |
LONGTEXT | VARCHAR(max) | 0 ~ 4,294,967,295 文字 |
BOOLEAN BOOL TINYINT(1) |
BOOLEAN |
MySQL: これらの型は TINYINT(1) |
BINARY[(M)] | varCHAR(255) |
M は 0 ~ 255 バイト、FIXED |
VARBINARY(M) | VARCHAR(max) |
0 ~ 65,535 バイト |
TINYBLOB | VARCHAR(255) | 0 ~ 255 バイト |
BLOB | VARCHAR(max) |
0 ~ 65,535 バイト |
MEDIUMBLOB | VARCHAR(max) |
0 ~ 16,777,215 バイト |
LONGBLOB | VARCHAR(max) |
0 ~ 4,294,967,295 バイト |
ENUM | VARCHAR(255*2) | リテラル ENUM 文字列の長さではなく、テーブル定義に含まれる ENUM 値の数に制限があります。 |
SET | VARCHAR(255*2) | ENUM と同じ。 |
DATE | DATE |
(YYYY-MM-DD) 「1000-01-01」から「9999-12-31」 |
TIME | VARCHAR(10*4) |
(hh:mm:ss) "-838:59:59" ~ "838:59:59" |
DATETIME | TIMESTAMP |
(YYYY-MM-DD hh:mm:ss) "1000-01-01 00:00:00" ~ "9999-12-31 23:59:59" |
TIMESTAMP | TIMESTAMP |
(YYYYMMDDhhmmss) 19700101000000 ~ 2037+ |
YEAR | VARCHAR(4*4) |
(YYYY) 1900 ~ 2155 |
column SERIAL |
ID 生成 / この列はコピーされるため、この属性は OLAP データウェアハウスでは必要ありません。 変換時に SERIAL キーワードは追加されません。 |
SERIAL は、実際には SEQUENCE というエンティティです。テーブルの残りの部分からは独立して存在しています。 column GENERATED BY DEFAULT これは下記と同等です: CREATE SEQUENCE name; CREATE TABLE table ( column INTEGER NOT NULL DEFAULT nextval(name) ); |
column BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE |
ID 生成 / この列はコピーされるため、この属性は OLAP データウェアハウスでは必要ありません。 このため、変換時に SERIAL キーワードは追加されません。 |
SERIAL は、実際には SEQUENCE というエンティティです。テーブルの残りの部分からは独立して存在しています。 column GENERATED BY DEFAULT これは下記と同等です: CREATE SEQUENCE name; CREATE TABLE table ( column INTEGER NOT NULL DEFAULT nextval(name) ); |
ZEROFILL | 変換時に ZEROFILL キーワードは追加されません。 |
INT UNSIGNED ZEROFILL NOT NULL ZEROFILL では、フィールドに表示される値に、列定義で指定された表示幅までゼロが埋め込まれます。値の桁数が表示幅を超えても、切り捨ては行われません。ZEROFILL の使用は、UNSIGNED を暗黙に示しています。 |