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 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 テーブルの 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"
);