半構造化データのアンロード
Amazon Redshift を使用すると、Amazon Redshift クラスターから Amazon S3 に、テキスト、Apache Parquet、Apache ORC、Avro などのさまざまな形式で半構造化データをエクスポートできます。以下のセクションでは、Amazon Redshift で半構造化データのアンロード操作を設定および実行するプロセスについて説明します。
SUPER データ列を持つテーブルを、コンマ区切り値 (CSV) 形式またはテキスト形式で Amazon S3 にアンロードできます。navigation 句と unnest 句の組み合わせを使用して、Amazon Redshift は SUPER データ形式の階層データを CSV 形式またはテキスト形式の Amazon S3 にアンロードします。その後、アンロードされたデータに対して外部テーブルを作成し、Redshift Spectrum を使用してクエリを実行できます。UNLOAD の使用と必要な IAM アクセス許可の詳細については、「UNLOAD」を参照してください。
次の例を実行する前に、「半構造化データを Amazon Redshift にロードする」に記載されているプロセスを使用して region_nations テーブルにデータを入力します。次の例で使用されるテーブルの詳細については、「SUPER サンプルデータセット」を参照してください。
次の例では、Amazon S3 にデータをアンロードします。
UNLOAD ('SELECT * FROM region_nations')
TO 's3://xxxxxx/'
IAM_ROLE 'arn:aws:iam::xxxxxxxxxxxx:role/Redshift-S3-Write'
DELIMITER AS '|'
GZIP
ALLOWOVERWRITE;
ユーザー定義の文字列が null 値を表す他のデータ型とは異なり、Amazon Redshift は JSON 形式を使用して SUPER データ列をエクスポートし、JSON 形式で決定されるように null として表します。その結果、SUPER データ列では、UNLOAD コマンドで使用される NULL [AS] オプションを無視します。