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 はengine
がolap
または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 BROKER
v2.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
テーブルの p1
と p2
の 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"
);