11.4.5 チャンク単位にデータをエクスポートする方法
マルチチャンク表に格納されているデータをチャンク単位でファイルに出力する場合,次に示す2つの方法があります。どちらの方法も,出力したいチャンクのチャンクIDを指定する必要があります。
-
-cオプションにチャンクIDを指定してadbexportコマンドを実行する
マルチチャンク表に格納されているデータをチャンク単位でファイルに出力する場合は,-cオプションにチャンクIDを指定してadbexportコマンドを実行してください。なお,adbexportコマンドは,HADBサーバで実行できますが,HADBクライアントでは実行できません。
adbexportコマンドについては,マニュアルHADB コマンドリファレンスのadbexport(データのエクスポート)を参照してください。
-
adbsqlコマンドのサブコマンド#GETDATAを実行する
マルチチャンク表に格納されているデータをチャンク単位でファイルに出力する場合は,adbsqlコマンドのサブコマンド#GETDATAを実行してください。出力対象のチャンクのチャンクIDを指定して#GETDATAを実行し,実行結果をリダイレクションすると,実行結果をファイルに出力できます。なお,adbsqlコマンドは,HADBサーバおよびHADBクライアント(Linux版)で実行できます。
adbsqlコマンドについては,マニュアルHADB コマンドリファレンスのadbsql(SQLの実行)を参照してください。
- メモ
-
上記2つの方法のうち,adbexportコマンドを使用することを推奨します。adbexportコマンドを使用した方が,adbsqlコマンドよりも,短時間でデータを出力できます。HADBクライアント(Linux版)で,マルチチャンク表のデータをファイルに出力する必要がある場合に限り,adbsqlコマンドを使用してください。
上記2つの方法で,データを出力できるチャンクの種類は次のとおりです。
- データを出力できるチャンクの種類
-
-
通常状態のチャンク
-
待機状態のチャンク
上記2つの方法の場合,通常状態のチャンクだけでなく,待機状態のチャンクについてもデータを出力できます。なお,「11.1.9 実表のデータをファイルに出力する方法(データをエクスポートする方法)」の場合,待機状態のチャンクについては,データを出力できません。
-
adbexportコマンドまたはadbsqlコマンドで,チャンク単位にデータを出力する手順を,それぞれ次に示します。
- 重要
-
adbmergechunkコマンドでマージ処理中のチャンクのデータは,ファイルに出力しないことを推奨します。adbmergechunkコマンドによるチャンクのマージ処理が完了したあとに,チャンク内のデータをファイルに出力するようにしてください。adbmergechunkコマンドでマージ処理中のチャンクのデータを出力した場合,マージ処理のタイミングによって,ファイルに出力されるデータが異なります。詳細については,「11.4.9 チャンクをマージする方法(チャンク数を減らす方法)」の「(4) adbmergechunkコマンド実行中に検索対象となるチャンク」を参照してください。
■出力手順(-cオプションを指定したadbexportコマンドを実行する場合)
-
出力したいチャンクのチャンクIDを確認する
adbexportコマンドの-cオプションに指定するチャンクIDを確認してください。チャンクIDの情報は,システム表のSTATUS_CHUNKSに格納されています。
チャンクIDを確認する方法については,「付録C.9 システム表の検索」を参照してください。
-
adbexportコマンドを実行する
確認したチャンクIDを基に-cオプションを指定したadbexportコマンドを実行して,出力したいチャンクに格納されたデータを出力してください。
また,GZIP形式で圧縮されたファイル(CSV形式)として出力したい場合は,--compress GZIPオプションも指定してください。
adbexportコマンドについては,マニュアルHADB コマンドリファレンスのadbexport(データのエクスポート)を参照してください。
■出力手順(adbsqlコマンドのサブコマンド#GETDATAを実行する場合)
-
出力したいチャンクのチャンクIDを確認する
adbsqlコマンドのサブコマンド#GETDATAのCHUNKIDに指定するチャンクIDを確認してください。チャンクIDの情報は,システム表のSTATUS_CHUNKSに格納されています。
チャンクIDを確認する方法については,「付録C.9 システム表の検索」を参照してください。
-
adbsqlコマンドを実行する
確認したチャンクIDを基にadbsqlコマンドのサブコマンド#GETDATAを実行して,出力したいチャンクに格納されたデータを出力してください。
adbsqlコマンドのサブコマンド#GETDATAについては,マニュアルHADB コマンドリファレンスのadbsql(SQLの実行)のadbsqlサブコマンドを参照してください。