If binary columns will be used, or if character data columns will be output to the file system, you must be sure the output directory exists.
Unless overridden by the
outputDataDir
setting described previously, the default
output directory will be the incoming directory parallel to Forge’s working
directory. For example, the following directory tree shows this incoming
directory, assuming
forge_input
is configured as the Forge working
directory:
Note that
the incoming directory is accessible at
../incoming
relative to the pipeline files within
forge_input/
.
On initialization, the Advanced JDBC Column Handler will check to see if
the
outputDataDir
is writable. If it is not, the
Advanced JDBC Column Handler will throw a warning into the Forge log, similar
to the following:
WARN 09/24/14 14:00:49.958 UTC FORGE {forge,baseline}: (com.endeca.soleng.itl.jdbc.AdvancedJDBCColumnHandler): outputDataDir ../incoming not writable
Because the Advanced JDBC Column Handler does not require a writable
directory if only character columns are used and character data is not spooled
to disk, Forge will continue processing when it encounters a non-writable
outputDataDir
. However, if binary columns are used
or if character data is explicitly spooled to disk, Forge will not return any
valid data for those columns, and will log additional warnings to the Forge log
for each row and column in the database it is not able to process. These
warnings will appear similar to the following:
WARN 09/24/06 14:02:34.828 UTC FORGE {forge,baseline}: (com.endeca.soleng.itl.jdbc.AdvancedJDBCColumnHandler): IOException while dumping MyBinaryData column