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

CREATE FILE FORMAT



名前付きファイルフォーマットを作成します。

構文

CREATE [ OR REPLACE ] FILE FORMAT [ IF NOT EXISTS ] <format_name> FileFormatOptions

FileFormatOptions の詳細については、入出力ファイル形式 を参照してください。

ファイルフォーマットを使用する

一度作成すれば、クエリとロード (load) の両方でフォーマットを再利用できます。

-- 1) Create a reusable format CREATE OR REPLACE FILE FORMAT my_custom_csv TYPE = CSV FIELD_DELIMITER = '\t'; -- 2) Query staged files (stage table function syntax uses =>) SELECT * FROM @mystage/data.csv (FILE_FORMAT => 'my_custom_csv') LIMIT 10; -- 3) Load staged files with COPY INTO (copy options use =) COPY INTO my_table FROM @mystage/data.csv FILE_FORMAT = (FORMAT_NAME = 'my_custom_csv');

なぜ演算子が異なるのでしょうか。stage テーブル関数は => で記述するキー/値パラメータを受け取りますが、COPY INTO のオプションでは = による標準的な代入を使用します。

クイックワークフロー: 同じフォーマットで作成、クエリ、ロード

-- Create a reusable format CREATE FILE FORMAT my_parquet TYPE = PARQUET; -- Query staged files with the format (stage table function syntax uses =>) SELECT * FROM @sales_stage/2024/order.parquet (FILE_FORMAT => 'my_parquet') LIMIT 10; -- Load staged files with COPY INTO (copy options use =) COPY INTO analytics.orders FROM @sales_stage/2024/order.parquet FILE_FORMAT = (FORMAT_NAME = 'my_parquet');

LANCE フォーマットに関する注意

名前付き Lance ファイルフォーマットを作成することもできます。

CREATE FILE FORMAT my_lance TYPE = LANCE;

CSV、TSV、NDJSON、PARQUET とは異なり、名前付き LANCE フォーマットは COPY INTO <location> でのみ再利用できます。stage テーブルの読み取りや COPY INTO <table> ではサポートされません。これは、TiDB Cloud Lake が単独のファイルではなく Lance データセットディレクトリを書き出すためです。

COPY INTO @ml_stage/datasets/train FROM my_training_table FILE_FORMAT = (FORMAT_NAME = 'my_lance') USE_RAW_PATH = TRUE OVERWRITE = TRUE;

Lance 固有の動作と制限事項については、入出力ファイル形式 および COPY INTO <location> を参照してください。

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