メインコンテンツまでスキップ
バージョン: 3.2

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 は 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 を含めるかどうかを指定します。有効な値: truefalse。値 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 つのパーティション p1p2 のデータを 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"
);