📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

CSV ファイルのアンロード



このページでは、COPY INTO コマンドを使用して CSV ファイルをアンロード (unload) する方法について説明します。

構文

COPY INTO { internalStage | externalStage | externalLocation } FROM { [<database_name>.]<table_name> | ( <query> ) } FILE_FORMAT = ( TYPE = CSV, RECORD_DELIMITER = '<character>', FIELD_DELIMITER = '<character>', COMPRESSION = gzip, OUTPUT_HEADER = true -- Unload with header ) [MAX_FILE_SIZE = <num>] [DETAILED_OUTPUT = true | false]

チュートリアル

ステップ 1. 外部 stage を作成する

CREATE STAGE csv_unload_stage URL = 's3://unload/csv/' CONNECTION = ( ACCESS_KEY_ID = '<your-access-key-id>' SECRET_ACCESS_KEY = '<your-secret-access-key>' );

ステップ 2. カスタム CSV ファイル形式を作成する

CREATE FILE FORMAT csv_unload_format TYPE = CSV, RECORD_DELIMITER = '\n', FIELD_DELIMITER = ',', COMPRESSION = gzip, -- Unload with gzip compression OUTPUT_HEADER = true, -- Unload with header SKIP_HEADER = 1; -- Only for loading, skip first line when querying if the CSV file has header

ステップ 3. CSV ファイルにアンロードする

COPY INTO @csv_unload_stage FROM ( SELECT * FROM generate_series(1, 100) ) FILE_FORMAT = (FORMAT_NAME = 'csv_unload_format') DETAILED_OUTPUT = true;

結果:

┌──────────────────────────────────────────────────────────────────────────────────────────┐ │ file_name │ file_size │ row_count │ ├──────────────────────────────────────────────────────────────────┼───────────┼───────────┤ │ data_c8382216-0a04-4920-9eca-7b5debe3eed6_0000_00000000.csv.gz │ 187 │ 100 │ └──────────────────────────────────────────────────────────────────────────────────────────┘

ステップ 4. アンロードした CSV ファイルを確認する

SELECT COUNT($1) FROM @csv_unload_stage ( FILE_FORMAT => 'csv_unload_format', PATTERN => '.*[.]csv[.]gz' );

結果:

┌───────────┐ │ count($1) │ ├───────────┤ │ 100 │ └───────────┘

このページは役に立ちましたか?