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

stage からのロード



TiDB Cloud Lake では、ユーザー stage または内部/外部 stage にアップロードされたファイルからデータを簡単にインポートできます。これを行うには、まず LakeSQL を使用してファイルを stage にアップロードし、その後 COPY INTO コマンドを使用して stage 上のファイルからデータをロードできます。ファイルは TiDB Cloud Lake がサポートする形式である必要があり、そうでない場合はデータをインポートできません。TiDB Cloud Lake がサポートするファイル形式の詳細については、入出力ファイル形式 を参照してください。

image

以下のチュートリアルでは、stage 内のファイルからデータをロードする手順を、ステップごとに詳しく説明します。

始める前に

開始する前に、次のタスクを完了していることを確認してください。

  • サンプルファイル books.parquet をダウンロードし、ローカルフォルダに保存します。このファイルには 2 件のレコードが含まれています。
Transaction Processing,Jim Gray,1992 Readings in Database Systems,Michael Stonebraker,2004
  • TiDB Cloud Lake で次の SQL 文を使用してテーブルを作成します。
USE default; CREATE TABLE books ( title VARCHAR, author VARCHAR, date VARCHAR );

チュートリアル 1: ユーザー stage からのロード

このチュートリアルでは、サンプルファイルをユーザー stage にアップロードし、stage 上のファイルから TiDB Cloud Lake にデータをロードする方法を説明します。

ステップ 1. サンプルファイルをアップロードする

  1. LakeSQL を使用してサンプルファイルをアップロードします。

    root@localhost:8000/default> PUT fs:///Users/eric/Documents/books.parquet @~ ┌───────────────────────────────────────────────┐ │ file │ status │ │ String │ String │ ├─────────────────────────────────────┼─────────┤ │ /Users/eric/Documents/books.parquet │ SUCCESS │ └───────────────────────────────────────────────┘
  2. stage 上のファイルを確認します。

LIST @~; name |size|md5 |last_modified |creator| -------------+----+----------------------------------+-----------------------------+-------+ books.parquet| 998|"88432bf90aadb79073682988b39d461c"|2023-06-27 16:03:51.000 +0000| |

ステップ 2. テーブルにデータをコピーする

  1. COPY INTO コマンドを使用して、対象テーブルにデータをロードします。

    COPY INTO books FROM @~ files=('books.parquet') FILE_FORMAT = (TYPE = PARQUET);
  2. ロードされたデータを確認します。

SELECT * FROM books; --- title |author |date| ----------------------------+-------------------+----+ Transaction Processing |Jim Gray |1992| Readings in Database Systems|Michael Stonebraker|2004|

チュートリアル 2: 内部 stage からのロード

このチュートリアルでは、サンプルファイルを内部 stage にアップロードし、stage 上のファイルから TiDB Cloud Lake にデータをロードする方法を説明します。

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

  1. CREATE STAGE コマンドを使用して内部 stage を作成します。

    CREATE STAGE my_internal_stage;
  2. 作成した stage を確認します。

    SHOW STAGES; ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ name │ stage_type │ storage_type │ url │ endpoint │ has_credentials │ has_encryption_key │ storage_params │ file_format_options │ creator │ created_on │ comment │ owner │ │ String │ String │ Nullable(String) │ Nullable(String) │ Nullable(String) │ Boolean │ Boolean │ Nullable(Variant) │ Variant │ Nullable(String) │ Timestamp │ String │ Nullable(String) │ ├───────────────────┼────────────┼──────────────────┼──────────────────┼──────────────────┼─────────────────┼───────────────────────┼───────────────────┼──────────────────────┼──────────────────┼─────────────┼─────────┼──────────────────┤ │ my_internal_stage │ Internal │ NULL │ NULL │ NULL │ false │ false │ NULL │ {"compression":"Zst… │ 'root'@'%' │ 2026-06-16 │ │ account_admin │ │ │ │ │ │ │ │ │ │ │ │ 22:21:19… │ │ │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

ステップ 2. サンプルファイルをアップロードする

  1. LakeSQL を使用してサンプルファイルをアップロードします。

    root@localhost:8000/default> CREATE STAGE my_internal_stage; root@localhost:8000/default> PUT fs:///Users/eric/Documents/books.parquet @my_internal_stage ┌───────────────────────────────────────────────┐ │ file │ status │ │ String │ String │ ├─────────────────────────────────────┼─────────┤ │ /Users/eric/Documents/books.parquet │ SUCCESS │ └───────────────────────────────────────────────┘
  2. stage 上のファイルを確認します。

LIST @my_internal_stage; name |size |md5 |last_modified |creator| -----------------------------------+------+----------------------------------+-----------------------------+-------+ books.parquet | 998|"88432bf90aadb79073682988b39d461c"|2023-06-28 02:32:15.000 +0000| |

ステップ 3. テーブルにデータをコピーする

  1. COPY INTO コマンドを使用して、対象テーブルにデータをロードします。

    COPY INTO books FROM @my_internal_stage FILES = ('books.parquet') FILE_FORMAT = ( TYPE = 'PARQUET' );
  2. ロードされたデータを確認します。

SELECT * FROM books; --- title |author |date| ----------------------------+-------------------+----+ Transaction Processing |Jim Gray |1992| Readings in Database Systems|Michael Stonebraker|2004|

チュートリアル 3: 外部 stage からのロード

このチュートリアルでは、サンプルファイルを外部 stage にアップロードし、stage 上のファイルから TiDB Cloud Lake にデータをロードする方法を説明します。

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

  1. CREATE STAGE コマンドを使用して外部 stage を作成します。

    CREATE STAGE my_external_stage URL = 's3://lake' CONNECTION = ( ENDPOINT_URL = 'http://127.0.0.1:9000', ACCESS_KEY_ID = 'ROOTUSER', SECRET_ACCESS_KEY = 'CHANGEME123' );
  2. 作成した stage を確認します。

    SHOW STAGES; name |stage_type|creator |comment| -----------------+----------+------------------+-------+ my_external_stage|External |'root'@'%'| |

ステップ 2. サンプルファイルをアップロードする

  1. LakeSQL を使用してサンプルファイルをアップロードします。

    root@localhost:8000/default> PUT fs:///Users/eric/Documents/books.parquet @my_external_stage ┌───────────────────────────────────────────────┐ │ file │ status │ │ String │ String │ ├─────────────────────────────────────┼─────────┤ │ /Users/eric/Documents/books.parquet │ SUCCESS │ └───────────────────────────────────────────────┘
  2. stage に配置されたファイルを確認します。

    LIST @my_external_stage; name |size|md5 |last_modified |creator| -------------+----+----------------------------------+-----------------------------+-------+ books.parquet| 998|"88432bf90aadb79073682988b39d461c"|2023-06-28 04:13:15.178 +0000| |

ステップ 3. テーブルにデータをコピーする

  1. COPY INTO コマンドを使用して、対象テーブルにデータをロード (load) します。

    COPY INTO books FROM @my_external_stage FILES = ('books.parquet') FILE_FORMAT = ( TYPE = 'PARQUET' );
  2. ロードされたデータを確認します。

SELECT * FROM books; --- title |author |date| ----------------------------+-------------------+----+ Transaction Processing |Jim Gray |1992| Readings in Database Systems|Michael Stonebraker|2004|

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