Debug UDF Script Output

This article explains how to debug output from UDF and virtual schema adapter scripts.

You can debug the output of any UDF script or virtual schema adapter script (except Lua scripts) by redirecting its standard output and standard error file descriptors (STDOUT + STDERR) to any socket on another machine. To use this feature you must run a TCP server and provide the address via session parameters. For example:

ALTER SESSION SET SCRIPT_OUTPUT_ADDRESS = 'myserver:16442';

Exasol can run UDFs in parallel on a large number of virtual machines (VMs). Since each VM opens an individual connection to the TCP server and keeps it open until the end of execution, the TCP server must be configured to handle many simultaneous connections.

PyExasol, the officially supported Python connector for Exasol, includes a TCP server that can be used for debugging scripts. To learn how to use PyExasol for debugging, see UDF Script Output.

PyExasol requires Python 3.9.2 or later.