メインコンテンツまでスキップ

EXPORT

EXPORT

概要

指定された場所にテーブルのデータをエクスポートします。

これは非同期の操作です。エクスポートタスクを送信した後にエクスポート結果が返されます。エクスポートタスクの進捗状況を確認するには、SHOW EXPORT を使用できます。

注意

StarRocks テーブルからデータをエクスポートするには、エクスポート権限を持つユーザーとしてのみエクスポートできます。エクスポート権限がない場合は、StarRocks クラスタに接続する際に使用するユーザーに GRANT の手順でエクスポート権限を付与してください。

構文

EXPORT TABLE <table_name>
[PARTITION (<partition_name>[, ...])]
[(<column_name>[, ...])]
TO <export_path>
[opt_properties]
WITH BROKER
[broker_properties]

パラメータ

  • table_nameテーブル名です。StarRocks は engineolap または mysql のテーブルのデータのエクスポートをサポートしています。

  • partition_nameデータをエクスポートするパーティションです。このパラメータを指定しない場合、デフォルトでテーブルのすべてのパーティションからデータをエクスポートします。

  • column_nameデータをエクスポートする列です。このパラメータを使用して指定する列の順序はテーブルのスキーマと異なる場合があります。このパラメータを指定しない場合、デフォルトでテーブルのすべての列からデータをエクスポートします。

  • export_pathテーブルのデータをエクスポートする場所です。場所にパスが含まれる場合は、パスの最後にスラッシュ (/) があることを確認してください。そうでない場合、パスの最後のスラッシュ (/) の後に続く部分はエクスポートされるファイルの名前のプレフィックスとして使用されます。デフォルトでは、ファイル名のプレフィックスは指定されていない場合には data_ が使用されます。

  • opt_propertiesエクスポートタスクのために設定できるオプションのプロパティです。構文:

    [PROPERTIES ("<key>"="<value>", ...)]

    プロパティ

    説明

    column_separator

    エクスポートされるファイルで使用する列セパレータです。デフォルト値: \t

    line_delimiter

    エクスポートされるファイルで使用する行セパレータです。デフォルト値: \n

    load_mem_limit

    各個々の BE でエクスポートタスクに許可される最大メモリサイズです。単位: バイト。デフォルトの最大メモリは 2 GB です。

    timeout

    エクスポートタスクのタイムアウト時間です。単位: 秒。デフォルト値: 86400 (1 日) です。

    include_query_id

    エクスポートされるファイルの名前に query_id を含めるかどうかを指定します。有効な値: true および false。値 true はファイル名に query_id を含め、値 false はファイル名に query_id を含めません。

  • WITH BROKERv2.4 およびそれ以前では WITH BROKER "<broker_name>" を入力して使用するブローカーを指定します。v2.5 以降ではブローカーを指定する必要はありませんが、WITH BROKER キーワードを保持する必要はあります。詳細については、Export data using EXPORT > Background information を参照してください。

  • broker_propertiesソースデータの認証に使用される情報です。認証情報はデータソースによって異なります。詳細については、BROKER LOAD を参照してください。

テーブルのすべてのデータを HDFS にエクスポートする

次の例では、testTbl テーブルのすべてのデータを HDFS クラスタの hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ パスにエクスポートします。

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);

テーブルの指定されたパーティションのデータを HDFS にエクスポートする

次の例では、testTbl テーブルの p1p2 の 2 つのパーティションのデータを HDFS クラスタの hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ パスにエクスポートします。

EXPORT TABLE testTbl
PARTITION (p1,p2)
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);

テーブルのすべてのデータを指定した列セパレータで HDFS にエクスポートする

次の例では、testTbl テーブルのすべてのデータを HDFS クラスタの hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ パスにエクスポートし、カンマ (,) を列セパレータとして指定します。

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
PROPERTIES
(
"column_separator"=","
)
WITH BROKER
(
"username"="xxx",
"password"="yyy"
);

次の例では、testTbl テーブルのすべてのデータを HDFS クラスタの hdfs://<hdfs_host>:<hdfs_port>/a/b/c/ パスにエクスポートし、Hive でサポートされるデフォルトの列セパレータである \x01 を列セパレータとして指定します。

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/"
PROPERTIES
(
"column_separator"="\\x01"
)
WITH BROKER;

テーブルのすべてのデータを指定したファイル名プレフィックスで HDFS にエクスポートする

次の例では、testTbl テーブルのすべてのデータを HDFS クラスタの hdfs://<hdfs_host>:<hdfs_port>/a/b/c/testTbl_ パスにエクスポートします。

EXPORT TABLE testTbl 
TO "hdfs://<hdfs_host>:<hdfs_port>/a/b/c/testTbl_"
WITH BROKER;

AWS S3 にデータをエクスポートする

次の例では、testTbl テーブルのすべてのデータを AWS S3 バケットの s3a://s3-package/export/ パスにエクスポートします。

EXPORT TABLE testTbl 
TO "s3a://s3-package/export/"
WITH BROKER
(
"aws.s3.access_key" = "xxx",
"aws.s3.secret_key" = "yyy",
"aws.s3.region" = "zzz"
);