if (isEmpty(strCompType)) {
prop.setProperty(
Constants.PROP_KEY_IMP_FILE_COMP_TYPE,
Constants.PROP_DEFAULT_IMP_FILE_COMP_TYPE);
} else if (compType == null) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Importファイルの圧縮有無が不正。値:" + null);
}
// Importファイルの圧縮時のバッファサイズ
String impBufSize = prop.getProperty(Constants.PROP_KEY_IMP_FILE_COMP_BUFSIZE);
if (isEmpty(impBufSize)) {
prop.setProperty(
Constants.PROP_KEY_IMP_FILE_COMP_BUFSIZE,
Constants.PROP_DEFAULT_IMP_FILE_COMP_BUFSIZE);
} else {
if (!isNumber(impBufSize, 1)) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Importファイルの圧縮時のバッファサイズの設定が不正。設定値:" + impBufSize);
}
}
// Importerのリトライ回数
String impRetryCount = prop.getProperty(Constants.PROP_KEY_IMP_RETRY_COUNT);
if (isEmpty(impRetryCount)) {
prop.setProperty(
Constants.PROP_KEY_IMP_RETRY_COUNT,
Constants.PROP_DEFAULT_IMP_RETRY_COUNT);
} else {
if (!isNumber(impRetryCount, 0)) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Importerのリトライ回数の設定が不正。設定値:" + impRetryCount);
}
}
// Importerのリトライインターバル
String impRetryInterval = prop.getProperty(Constants.PROP_KEY_IMP_RETRY_INTERVAL);
if (isEmpty(impRetryInterval)) {
prop.setProperty(
Constants.PROP_KEY_IMP_RETRY_INTERVAL,
Constants.PROP_DEFAULT_IMP_RETRY_INTERVAL);
} else {
if (!isNumber(impRetryInterval, 0)) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Importerのリトライインターバルの設定が不正。設定値:" + impRetryInterval);
}
}
// Exportファイルの圧縮時のバッファサイズ
String expBufSize = prop.getProperty(Constants.PROP_KEY_EXP_FILE_COMP_BUFSIZE);
if (isEmpty(expBufSize)) {
prop.setProperty(
Constants.PROP_KEY_EXP_FILE_COMP_BUFSIZE,
Constants.PROP_DEFAULT_EXP_FILE_COMP_BUFSIZE);
} else {
if (!isNumber(expBufSize, 1)) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Exportファイルの圧縮時のバッファサイズの設定が不正。設定値:" + expBufSize);
}
}
// Exporterのリトライ回数
String expRetryCount = prop.getProperty(Constants.PROP_KEY_EXP_RETRY_COUNT);
if (isEmpty(expRetryCount)) {
prop.setProperty(
Constants.PROP_KEY_EXP_RETRY_COUNT,
Constants.PROP_DEFAULT_EXP_RETRY_COUNT);
} else {
if (!isNumber(expRetryCount, 0)) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Exporterのリトライ回数の設定が不正。設定値:" + expRetryCount);
}
}
// Exporterのリトライインターバル
String expRetryInterval = prop.getProperty(Constants.PROP_KEY_EXP_RETRY_INTERVAL);
if (isEmpty(expRetryInterval)) {
prop.setProperty(
Constants.PROP_KEY_EXP_RETRY_INTERVAL,
Constants.PROP_DEFAULT_EXP_RETRY_INTERVAL);
} else {
if (!isNumber(expRetryInterval, 0)) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Exporterのリトライインターバルの設定が不正。設定値:" + expRetryInterval);
}
}
// エクスポート処理でExport対象テーブルにデータをコピーする時の最大レコード数
String copyMaxRecord = prop.getProperty(Constants.PROP_KEY_EXP_COPY_MAX_RECORD);
if (isEmpty(copyMaxRecord)) {
prop.setProperty(
Constants.PROP_KEY_EXP_COPY_MAX_RECORD,
Constants.PROP_DEFAULT_EXP_COPY_MAX_RECORD);
} else {
if (!isNumber(copyMaxRecord, 1)) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"エクスポート処理でExport対象テーブルにデータをコピーする時の最大レコード数の設定が不正。設定値:" + copyMaxRecord);
}
}
// インポート正常終了時のTSVファイル削除有無
String deleteImportTsv = prop.getProperty(Constants.PROP_KEY_IMPORT_TSV_DELETE);
TsvDeleteType delImpType = TsvDeleteType.find(deleteImportTsv);
if (isEmpty(deleteImportTsv)) {
prop.setProperty(
Constants.PROP_KEY_IMPORT_TSV_DELETE,
Constants.PROP_DEFAULT_IMPORT_TSV_DELETE);
} else if (delImpType == null) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"インポート正常終了時のTSVファイル削除有無が不正。値:" + deleteImportTsv);
}
// エクスポート正常終了時のTSVファイル削除有無
String deleteExportTsv = prop.getProperty(Constants.PROP_KEY_EXPORT_TSV_DELETE);
TsvDeleteType delExpType = TsvDeleteType.find(deleteExportTsv);
if (isEmpty(deleteExportTsv)) {
prop.setProperty(
Constants.PROP_KEY_EXPORT_TSV_DELETE,
Constants.PROP_DEFAULT_EXPORT_TSV_DELETE);
} else if (delExpType == null) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"エクスポート正常終了時のTSVファイル削除有無が不正。値:" + deleteExportTsv);
}
// 必須チェック
// remote ASAKUSA_HOME
if (isEmpty(prop.getProperty(Constants.PROP_PREFIX_HC_ENV + Constants.ASAKUSA_HOME))) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
MessageFormat.format(
"Hadoopクライアントの環境変数{1}が設定されていません ({0}.{1})",
Constants.PROP_PREFIX_HC_ENV,
Constants.ASAKUSA_HOME));
}
// SSHのパス
if (isEmpty(prop.getProperty(Constants.PROP_KEY_SSH_PATH))) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"SSHのパスが設定されていません");
}
// HDFSのNameノードのIPアドレス又はホスト名
if (isEmpty(prop.getProperty(Constants.PROP_KEY_NAMENODE_HOST))) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"HDFSのNameノードのホスト名が設定されていません");
}
// HDFSのNameノードのユーザー名
if (isEmpty(prop.getProperty(Constants.PROP_KEY_NAMENODE_USER))) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"SSHのパスが設定されていません");
}
// Importファイルを置くディレクトリのトップディレクトリ
if (isEmpty(prop.getProperty(Constants.PROP_KEY_IMP_FILE_DIR))) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"Importファイルを置くディレクトリが設定されていません");
}
// エクスポートファイルを置くディレクトリのトップディレクトリ
if (isEmpty(prop.getProperty(Constants.PROP_KEY_EXP_FILE_DIR))) {
throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00008",
"エクスポートファイルを置くディレクトリが設定されていません");
}
}