<table class="configuration table table-bordered">
    <thead>
        <tr>
            <th class="text-left" style="width: 20%">Key</th>
            <th class="text-left" style="width: 15%">Default</th>
            <th class="text-left" style="width: 10%">Type</th>
            <th class="text-left" style="width: 55%">Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><h5>python.archives</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>String</td>
            <td>Add python archive files for job. The archive files will be extracted to the working directory of python UDF worker. For each archive file, a target directory is specified. If the target directory name is specified, the archive file will be extracted to a directory with the specified name. Otherwise, the archive file will be extracted to a directory with the same name of the archive file. The files uploaded via this option are accessible via relative path. '#' could be used as the separator of the archive file path and the target directory name. Comma (',') could be used as the separator to specify multiple archive files. This option can be used to upload the virtual environment, the data files used in Python UDF. The data files could be accessed in Python UDF, e.g.: f = open('data/data.txt', 'r'). The option is equivalent to the command line option "-pyarch".</td>
        </tr>
        <tr>
            <td><h5>python.client.executable</h5></td>
            <td style="word-wrap: break-word;">"python"</td>
            <td>String</td>
            <td>The path of the Python interpreter used to launch the Python process when submitting the Python jobs via "flink run" or compiling the Java/Scala jobs containing Python UDFs. Equivalent to the command line option "-pyclientexec" or the environment variable PYFLINK_CLIENT_EXECUTABLE. The priority is as following: <br />1. the configuration 'python.client.executable' defined in the source code(Only used in Flink Java SQL/Table API job call Python UDF);<br />2. the command line option "-pyclientexec";<br />3. the configuration 'python.client.executable' defined in config.yaml<br />4. the environment variable PYFLINK_CLIENT_EXECUTABLE;</td>
        </tr>
        <tr>
            <td><h5>python.executable</h5></td>
            <td style="word-wrap: break-word;">"python"</td>
            <td>String</td>
            <td>Specify the path of the python interpreter used to execute the python UDF worker. The python UDF worker depends on Python 3.9+, Apache Beam (version &gt;= 2.54.0, &lt;= 2.61.0), Pip (version &gt;= 20.3) and SetupTools (version &gt;= 37.0.0). Please ensure that the specified environment meets the above requirements. The option is equivalent to the command line option "-pyexec".</td>
        </tr>
        <tr>
            <td><h5>python.execution-mode</h5></td>
            <td style="word-wrap: break-word;">"process"</td>
            <td>String</td>
            <td>Specify the python runtime execution mode. The optional values are `process` and `thread`. The `process` mode means that the Python user-defined functions will be executed in separate Python process. The `thread` mode means that the Python user-defined functions will be executed in the same process of the Java operator. Note that currently it still doesn't support to execute Python user-defined functions in `thread` mode in all places. It will fall back to `process` mode in these cases.</td>
        </tr>
        <tr>
            <td><h5>python.files</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>String</td>
            <td>Attach custom files for job. The standard resource file suffixes such as .py/.egg/.zip/.whl or directory are all supported. These files will be added to the PYTHONPATH of both the local client and the remote python UDF worker. Files suffixed with .zip will be extracted and added to PYTHONPATH. Comma (',') could be used as the separator to specify multiple files. The option is equivalent to the command line option "-pyfs". </td>
        </tr>
        <tr>
            <td><h5>python.fn-execution.arrow.batch.size</h5></td>
            <td style="word-wrap: break-word;">1000</td>
            <td>Integer</td>
            <td>The maximum number of elements to include in an arrow batch for Python user-defined function execution. The arrow batch size should not exceed the bundle size. Otherwise, the bundle size will be used as the arrow batch size.</td>
        </tr>
        <tr>
            <td><h5>python.fn-execution.bundle.size</h5></td>
            <td style="word-wrap: break-word;">1000</td>
            <td>Integer</td>
            <td>The maximum number of elements to include in a bundle for Python user-defined function execution. The elements are processed asynchronously. One bundle of elements are processed before processing the next bundle of elements. A larger value can improve the throughput, but at the cost of more memory usage and higher latency.</td>
        </tr>
        <tr>
            <td><h5>python.fn-execution.bundle.time</h5></td>
            <td style="word-wrap: break-word;">1000</td>
            <td>Long</td>
            <td>Sets the waiting timeout(in milliseconds) before processing a bundle for Python user-defined function execution. The timeout defines how long the elements of a bundle will be buffered before being processed. Lower timeouts lead to lower tail latencies, but may affect throughput.</td>
        </tr>
        <tr>
            <td><h5>python.fn-execution.memory.managed</h5></td>
            <td style="word-wrap: break-word;">true</td>
            <td>Boolean</td>
            <td>If set, the Python worker will configure itself to use the managed memory budget of the task slot. Otherwise, it will use the Off-Heap Memory of the task slot. In this case, users should set the Task Off-Heap Memory using the configuration key taskmanager.memory.task.off-heap.size.</td>
        </tr>
        <tr>
            <td><h5>python.logging.default.level</h5></td>
            <td style="word-wrap: break-word;">"INFO"</td>
            <td>String</td>
            <td>Controls the default log level of python loggers, available values: OFF, ERROR, WARN, INFO, DEBUG, TRACE.</td>
        </tr>
        <tr>
            <td><h5>python.logging.level.overrides</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>Map</td>
            <td>This option controls the log levels for specifically named loggers. The expected format is "Name: LogLevel...". Supports a logging hierarchy based off of names that are '.' separated. For example, by specifying the value "a.b.c.Foo: DEBUG", the logger for the class 'a.b.c.Foo' will be configured to output logs at the DEBUG level. Similarly, by specifying the value "a.b.c:WARN", all loggers underneath the 'a.b.c' package will be configured to output logs at the WARN level. System.out and System.err levels are configured via loggers of the corresponding name. Also, note that when multiple overrides are specified, the exact name followed by the closest parent takes precedence.</td>
        </tr>
        <tr>
            <td><h5>python.map-state.iterate-response-batch-size</h5></td>
            <td style="word-wrap: break-word;">1000</td>
            <td>Integer</td>
            <td>The maximum number of the MapState keys/entries sent to Python UDF worker in each batch when iterating a Python MapState. Note that this is an experimental flag and might not be available in future releases.</td>
        </tr>
        <tr>
            <td><h5>python.map-state.read-cache-size</h5></td>
            <td style="word-wrap: break-word;">1000</td>
            <td>Integer</td>
            <td>The maximum number of cached entries for a single Python MapState. Note that this is an experimental flag and might not be available in future releases.</td>
        </tr>
        <tr>
            <td><h5>python.map-state.write-cache-size</h5></td>
            <td style="word-wrap: break-word;">1000</td>
            <td>Integer</td>
            <td>The maximum number of cached write requests for a single Python MapState. The write requests will be flushed to the state backend (managed in the Java operator) when the number of cached write requests exceed this limit. Note that this is an experimental flag and might not be available in future releases.</td>
        </tr>
        <tr>
            <td><h5>python.metric.enabled</h5></td>
            <td style="word-wrap: break-word;">true</td>
            <td>Boolean</td>
            <td>When it is false, metric for Python will be disabled. You can disable the metric to achieve better performance at some circumstance.</td>
        </tr>
        <tr>
            <td><h5>python.operator-chaining.enabled</h5></td>
            <td style="word-wrap: break-word;">true</td>
            <td>Boolean</td>
            <td>Python operator chaining allows non-shuffle operations to be co-located in the same thread fully avoiding serialization and de-serialization.</td>
        </tr>
        <tr>
            <td><h5>python.profile.enabled</h5></td>
            <td style="word-wrap: break-word;">false</td>
            <td>Boolean</td>
            <td>Specifies whether to enable Python worker profiling. The profile result will be displayed in the log file of the TaskManager periodically. The interval between each profiling is determined by the config options python.fn-execution.bundle.size and python.fn-execution.bundle.time.</td>
        </tr>
        <tr>
            <td><h5>python.pythonpath</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>String</td>
            <td>Specify the path on the Worker Node where the Flink Python Dependencies are installed, which gets added into the PYTHONPATH of the Python Worker. The option is equivalent to the command line option "-pypath".</td>
        </tr>
        <tr>
            <td><h5>python.requirements</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>String</td>
            <td>Specify a requirements.txt file which defines the third-party dependencies. These dependencies will be installed and added to the PYTHONPATH of the python UDF worker. A directory which contains the installation packages of these dependencies could be specified optionally. Use '#' as the separator if the optional parameter exists. The option is equivalent to the command line option "-pyreq".</td>
        </tr>
        <tr>
            <td><h5>python.state.cache-size</h5></td>
            <td style="word-wrap: break-word;">1000</td>
            <td>Integer</td>
            <td>The maximum number of states cached in a Python UDF worker. Note that this is an experimental flag and might not be available in future releases.</td>
        </tr>
        <tr>
            <td><h5>python.systemenv.enabled</h5></td>
            <td style="word-wrap: break-word;">true</td>
            <td>Boolean</td>
            <td>Specify whether to load System Environment when starting Python worker.</td>
        </tr>
    </tbody>
</table>
