EXPORT
説明
テーブルのデータを指定された場所にエクスポートします。
これは非同期操作です。エクスポートタスクを送信した後にエクスポート結果が返されます。 SHOW EXPORT を使用して、エクスポートタスクの進行状況を確認できます。
注意
StarRocks テーブルからデータをエクスポートするには、その StarRocks テーブルに対して EXPORT 権限を持つユーザーである必要があります。EXPORT 権限がない場合は、GRANT に従って、StarRocks クラスターに接続するために使用するユーザーに EXPORT 権限を付与してください。
構文
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
データをエクスポートしたいパーティション。デフォルトでは、このパラメーターを指定しない場合、StarRocks はテーブルのすべてのパーティションからデータをエクスポートします。
-
column_name
データをエクスポートしたい列。このパラメーターを使用して指定した列の順序は、テーブルのスキーマと異なる場合があります。デフォルトでは、このパラメーターを指定しない場合、StarRocks はテーブルのすべての列からデータをエクスポートします。
-
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
キーワードを保持する必要があります。 -
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
テーブルの 2 つのパーティション、p1
と p2
のデータを 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/
パスにエクスポートし、\\x01
(Hive がサポートするデフォルトの列の区切り文字) を列の区切り文字として使用することを指定します。
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 バケットの 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"
);