ClickHouse UDF 运行速度慢问题

一、环境版本

环境 版本
docker clickhouse 22.3.10.22

二、UDF运行速度时快时慢

udf配置文件xxx_function.xml
type- 可执行类型。如果type设置为executable则启动单个命令。如果设置为,executable_pool则创建命令池。
pool_size- 命令池的大小。可选参数,默认值为16。

<type>executable_pooltype>
<pool_size>60pool_size>

三、UDF超时

udf配置文件xxx_function.xml
max_command_execution_time- 处理数据块的最大执行时间(以秒为单位)。该设置仅对命令有效executable_pool。可选参数,默认值为10。
command_termination_timeout- 管道关闭后命令应完成的时间(以秒为单位)。此后时间SIGTERM被发送到执行命令的进程。可选参数,默认值为10。
command_read_timeout- 从命令标准输出读取数据的超时时间(以毫秒为单位)。默认值 10000。可选参数。
command_write_timeout- 将数据写入命令 stdin 的超时(以毫秒为单位)。默认值 10000。可选参数。

<max_command_execution_time>120max_command_execution_time>
<command_termination_timeout>120command_termination_timeout>
<command_read_timeout>120000command_read_timeout>
<command_write_timeout>120000command_write_timeout>

四、完整xml配置

<functions>
    <function>
        <type>executable_pooltype>
        <name>demo_clickhouse_udfname>
        <max_command_execution_time>120max_command_execution_time>
        <command_termination_timeout>120command_termination_timeout>
        <command_read_timeout>120000command_read_timeout>
        <command_write_timeout>120000command_write_timeout>
        <pool_size>60pool_size>
        <return_type>Stringreturn_type>
        <argument>
            <type>UInt64type>
            <name>argument_1name>
        argument>
        <argument>
            <type>UInt64type>
            <name>argument_2name>
        argument>
        <format>JSONEachRowformat>
        <execute_direct>0execute_direct>
        <command>/usr/bin/java -jar /var/lib/clickhouse/user_scripts/demo_clickhouse_udf-1.0-SNAPSHOT-jar-with-dependencies.jarcommand>
    function>
functions>

你可能感兴趣的:(clickhouse)