Error running Workflow as bat

I have a workflow that Reads data from a DB2 table and then Writes to a Teradata table. If I run the workflow from Knime it runs, but when I run it as a bat file I get this error below. The bat does not exit and also I am not able to do a Select on the Teradata table, it seems to be hung up.

This is my bat file:
ECHO OFF
START “” “C:\Program Files\KNIME\knime.exe” -nosave -nosplash -consoleLog -reset -application org.knime.product.KNIME_BATCH_APPLICATION -workflowDir="G:\PRODNET\Reporting and Administration\Reporting_Library\Workflows\Knime\Test5431
exit

Below is the error:
2019-05-28.15:32:18.684 TERAJDBC4 ERROR [main] TeraDriver/java.net.URLClassLoader@4548d254 The com.ncr.teradata.TeraDriver class name is deprecated. Please use the com.teradata.jdbc.TeraDriver class name instead.
INFO main BatchExecutor ===== Executing workflow G:\PRODNET\Reporting and Administration\Reporting_Library\Workflows\Knime\Test5431 =====
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ERROR pool-1-thread-1 Shell Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333)
at org.apache.hadoop.util.Shell.(Shell.java:326)
at org.apache.hadoop.util.StringUtils.(StringUtils.java:76)
at org.apache.hadoop.security.Groups.parseStaticMapping(Groups.java:93)
at org.apache.hadoop.security.Groups.(Groups.java:77)
at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:240)
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:255)
at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:232)
at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:718)
at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:703)
at com.pervasive.datarush.hadoop.shims.HDFSShimImpl$LoggedInUserTask.call(HDFSShimImpl.java:121)
at com.pervasive.datarush.hadoop.shims.HDFSShimImpl$LoggedInUserTask.call(HDFSShimImpl.java:118)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Error enabling datarush update site: null
Error while adding dataflow workbench listener: Workbench has not been created yet.

Presumably when you run KNIME on the desktop, you have set the preferences to tell it where to find the Hadoop binaries; make sure you include a pointer to the preferences when running on command line - https://www.knime.com/faq#q12

so my workflow doesn’t use Hadoop, but it does give the error. Can you clarify what the Hadoop binaries would be and how you would use the -preferences in the bat

Hmm - it’s inexplicable, then (to me) how you have a stack trace complaining that the execution ran into problems trying to locate the Hadoop binaries. If you go to your Preferences and you type Hadoop into the search field, does anything show up? Anything in the Teradata specific preferences seem related?

To cite the preferences in the bat invocation, the easiest way would be to export them via File → Export Preferences… and then specify the fullpath to that exported file.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.