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

TiDB Cloud Lake への NDJSON のロード



NDJSON とは何ですか?

NDJSON は JSON を基にした形式であり、JSON の厳密なサブセットです。各行には、それぞれ独立した有効な JSON オブジェクトが含まれている必要があります。

次の例は、2 つの JSON オブジェクトを含む NDJSON ファイルを示しています。

{"title":"Title_0","author":"Author_0"} {"title":"Title_1","author":"Author_1"}

NDJSON ファイルのロード

NDJSON ファイルをロード (load) する一般的な構文は次のとおりです。

COPY INTO [<database>.]<table_name> FROM { userStage | internalStage | externalStage | externalLocation } [ PATTERN = '<regex_pattern>' ] [ FILE_FORMAT = ( TYPE = NDJSON, COMPRESSION = AUTO ) ]

チュートリアル: NDJSON ファイルからのデータのロード

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

NDJSON ファイルを保存するための内部 stage を作成します。

CREATE STAGE my_ndjson_stage;

ステップ 2. NDJSON ファイルを作成する

次の SQL 文を使用して NDJSON ファイルを生成します。

COPY INTO @my_ndjson_stage FROM ( SELECT 'Title_' || CAST(number AS VARCHAR) AS title, 'Author_' || CAST(number AS VARCHAR) AS author FROM numbers(100000) ) FILE_FORMAT = (TYPE = NDJSON) ;

NDJSON ファイルが作成されたことを確認します。

LIST @my_ndjson_stage;

結果:

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ name │ size │ md5 │ last_modified │ creator │ ├────────────────────────────────────────────────────────────────┼─────────┼────────────────────────────────────┼───────────────────────────────┼──────────────────┤ │ data_b3d94fad-3052-42e4-b090-26409e88c7b9_0000_00000000.ndjson │ 4777780 │ "d1cc98fefc3e3aa0649cade880d754aa" │ 2023-12-26 12:15:59.000 +0000 │ NULL │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

ステップ 3: 対象テーブルを作成する

CREATE TABLE books ( title VARCHAR, author VARCHAR );

ステップ 4. NDJSON から直接コピーする

NDJSON ファイルからテーブルに直接データをコピーするには、次の SQL コマンドを使用します。

COPY INTO books FROM @my_ndjson_stage PATTERN = '.*[.]ndjson' FILE_FORMAT = ( TYPE = NDJSON );

結果:

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ File │ Rows_loaded │ Errors_seen │ First_error │ First_error_line │ ├────────────────────────────────────────────────────────────────┼─────────────┼─────────────┼──────────────────┼──────────────────┤ │ data_b3d94fad-3052-42e4-b090-26409e88c7b9_0000_00000000.ndjson │ 100000 │ 0 │ NULL │ NULL │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

ステップ 4(オプション). SELECT を使用してデータをコピーする

コピー中にデータを変換するなど、より細かく制御したい場合は、SELECT 文を使用します。詳細は SELECT from NDJSON を参照してください。

COPY INTO books(title, author) FROM ( SELECT $1:title, $1:author FROM @my_ndjson_stage ) PATTERN = '.*[.]ndjson' FILE_FORMAT = ( TYPE = NDJSON );

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