Once a script environment is created it is possible to alter the configuration without dropping the environment


ALTER SCRIPT ENVIRONMENT [scriptenv] SET [varstring]


scriptenv is the external scripting environment to be altered. varstring specifies the configuration change. The altered settings will be used as default settings for all external scripts using script-env unless they are overriden in the external script. The varstring can be:

  • REQUIRES num GB|MB RAM - specify the default amount of RAM used in each invocation of script-env. This is used by the Kognitio external memory resource scheduler to calculate how many invocations can be supported by the available resources.
  • [NOT] RUN ON node-list - specify a sub-set of nodes for invocations using scriptenv. This is useful if a binary is only installed on a subset of nodes. This is typically for licensing purposes of third party software or on large Hadoop clusters where nodes are not all set up identically.
  • RUN ON ALL - instructs Kognitio to invoke scripts on all available nodes within the Kognitio cluster. Note when Kognitio is deployed on Hadoop this means all nodes where a Kognitio YARN container is currently running. This is default behaviour if RUN ON is not used.

You can also limit the number of invocations for a script using scriptenv but this functioanlity is largely redundent since the addition of the Kognitio external memory resource scheduler. However this can be useful if you only need a single invocation of a script or are running a node or container level operation in your script:

  • LIMIT num THREADS - limit the total number of invocations of a script using script-env
  • LIMIT num THREADS PER NODE - limit the number of invocations of a script per node. This is useful if you are using an external scripting environment to carry out an operation at the node or container level such as checking for installed packages
  • NO THREADS LIMIT - remove any limits on the number of script invocations for script-env. This means the Kognitio external memory resource scheduler will decide on the number of invocations based on the available resources. This is the default behaviour when a script environment is created.