当前位置: 首页 > article >正文

ClickHouse UDF 运行速度慢问题

一、环境版本

环境版本
docker clickhouse22.3.10.22

二、UDF运行速度时快时慢

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

<type>executable_pool</type>
<pool_size>60</pool_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>120</max_command_execution_time>
<command_termination_timeout>120</command_termination_timeout>
<command_read_timeout>120000</command_read_timeout>
<command_write_timeout>120000</command_write_timeout>

四、完整xml配置

<functions>
    <function>
        <type>executable_pool</type>
        <name>demo_clickhouse_udf</name>
        <max_command_execution_time>120</max_command_execution_time>
        <command_termination_timeout>120</command_termination_timeout>
        <command_read_timeout>120000</command_read_timeout>
        <command_write_timeout>120000</command_write_timeout>
        <pool_size>60</pool_size>
        <return_type>String</return_type>
        <argument>
            <type>UInt64</type>
            <name>argument_1</name>
        </argument>
        <argument>
            <type>UInt64</type>
            <name>argument_2</name>
        </argument>
        <format>JSONEachRow</format>
        <execute_direct>0</execute_direct>
        <command>/usr/bin/java -jar /var/lib/clickhouse/user_scripts/demo_clickhouse_udf-1.0-SNAPSHOT-jar-with-dependencies.jar</command>
    </function>
</functions>

http://www.kler.cn/a/134273.html

相关文章:

  • Flume学习
  • (蓝桥杯C/C++)——动态规划(DP)
  • Webpack知识点—publicPath
  • Vue Cli的配置中configureWebpack和chainWebpack的主要作用及区别是什么?
  • Java集合框架之Map接口
  • JS事件高级练习题
  • docker容器内访问主机端口服务
  • Visual Studio Code 从英文界面切换中文
  • 鸿蒙:实现两个Page页面跳转
  • 多线程概述
  • RTMP协议和源码解析
  • MFC/QT 一些快要遗忘的细节:
  • 本地Git项目同时推送至GitHub和Gitee
  • 蓝桥杯每日一题2023.11.18
  • Appium自动化测试:通过appium的inspector功能无法启动app的原因
  • Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)
  • 学霸教你自学人工智能
  • 设计模式(二)-创建者模式(2)-工厂模式
  • 程序员告诉你:人工智能是什么?
  • ClickHouse SQL 查询优化
  • openssl开发详解
  • Android 13 - Media框架(14)- OpenMax(二)
  • 庖丁解牛:NIO核心概念与机制详解 04 _ 分散和聚集
  • 分类预测 | Matlab实现PSO-GRU-Attention粒子群算法优化门控循环单元融合注意力机制多特征分类预测
  • 取数游戏2(动态规划java)
  • MSSQL-逻辑级常用命令