はじめに

データロード(COPYコマンド)のエラー内容はエラーログファイルやエラーレコードファイルに記録されます。

ただし、上記ファイルの出力有無や出力先は、COPYコマンドのパラメータの指定内容によって異なるため、注意する必要があります。

本記事では、COPYコマンドのエラー内容を出力するパラメータをご紹介します。

エラーログファイルの指定方法

エラー内容を出力するログファイルを指定するためには、EXCEPTIONSパラメータを使用します。

構文

実行方式毎のデフォルト値

Verticaサーバ上でCOPYコマンドを実行する場合と、ETLサーバなどリモートからCOPY LOCALを実行する場合でエラーログファイルのデフォルト値が異なります。

コマンドデフォルト値
COPY<カタログディレクトリ>/CopyErrorLogs/<テーブル名>-<CSVファイル名>-copy-from-exceptions

(例:/home/dbadmin/catalog/vdb/v_vdb_node0001_catalog/CopyErrorLogs/t1-t1.csv-copy-from-exceptions)
COPY LOCALなし
(ログファイルなし)


※COPY LOCALを使用する場合、クライアント側で出力するログファイル名を指定します。

実行例

Windowsマシン上に置いているCSVデータを、リモートでVerticaにデータロードする場合を想定した実行例です。

EXCEPTIONSパラメータで指定したエラーログファイルは、Windowsマシン上の指定した箇所に作成されます。

エラーレコードファイルの指定方法

エラーとなったレコードデータを出力するファイルを指定するためには、REJECTED DATAパラメータを使用します。

構文

実行方式毎のデフォルト値

Verticaサーバ上でCOPYコマンドを実行する場合と、ETLサーバなどリモートからCOPY LOCALを実行する場合でエラーレコードファイルのデフォルト値が異なります。

コマンドデフォルト値
COPY<カタログディレクトリ>/CopyErrorLogs/<テーブル名>-<CSVファイル名>-copy-from-rejected-data

(例:/home/dbadmin/catalog/vdb/v_vdb_node0001_catalog/CopyErrorLogs/t1-t1.csv-copy-from-rejected-data)
COPY LOCALなし
(エラーレコード出力ファイルなし)


※COPY LOCALを使用する場合、クライアント側で出力するエラーレコードファイル名を指定します。

実行例

Windowsマシン上に置いているCSVデータを、リモートでVerticaにデータロードする場合を想定した実行例です。

REJECTED DATAパラメータで指定したエラーレコードファイルは、Windowsマシン上の指定した箇所に作成されます。

検証バージョンについて

この記事の内容はVertica 9.3で確認しています。

更新履歴

2020/07/21 本記事を公開