DB::Exception

猿猿的脑袋 2024-10-22 14:35:19

在使用clickhouse的UDF函数时,报错: 

DB::Exception: Function 'code_line_count_v2': wrong result, expected 1 row(s), actual 0: While processing code_line_count_v2('111'). (UNSUPPORTED_METHOD) (version 22.8.17.17 (official build))

如下是我的Java脚本:

public static void main(String[] args) {
        //单字符串
        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
            CodeLineCountV2 codeLineCountV2 = new CodeLineCountV2();
            String markdown;
            while (!(markdown = in.readLine()).isEmpty()) {
                JSONObject jsonObject = JSON.parseObject(markdown);
                Integer result = codeLineCountV2.evaluate(jsonObject.getString("markdown"));
                JSONObject object = new JSONObject();
                object.put("result", result);
                System.out.print(object.toJSONString());
                System.out.flush();
            }
        } catch (Exception e) {
            e.getStackTrace();
        }
    }

如下是我的function脚本code_line_count_v2_function.xml

<functions>
    <function>
        <type>executable</type>
        <name>code_line_count_v2</name>
        <return_type>UInt32</return_type>
        <return_name>result</return_name>
        <argument>
            <type>String</type>
            <name>markdown</name>
        </argument>
        <format>JSONEachRow</format>
        <execute_direct>0</execute_direct>
        <command>java -jar /var/lib/clickhouse/user_scripts/function_code_line_count_v2_udf.jar</command>
    </function>
</functions>

而且脚本里的command里的执行脚本可以在服务器的任意位置执行。

通过如下语句执行函数的刷新和函数执行,第三步报了标题的错:

SYSTEM RELOAD FUNCTIONS;
SELECT * FROM system.functions WHERE name = 'code_line_count_v2';
select code_line_count_v2('111');

麻烦有经验的帮忙看下是什么原因

...全文
71 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111

社区成员

发帖
与我相关
我的任务
社区描述
ClickHouse开发者
其他 企业社区
社区管理员
  • csdnsqst0018
  • IT学习日记
  • karina17
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

社区宗旨:意在给学习Clickhouse数据库的朋友提供一个氛围轻松、友好的交流平台,欢迎社区小伙伴们积极讨论。

 

欢迎大家加入到Clickhouse社区大家庭,为了对大家积极的参与感谢,现在准备以下一些奖品【20个CSDN定制帆布包和2个咖啡杯】,满足以下2个条件即有机会领取:

  • 1、加入Clickhouse社区,成为社区成员
  • 2、在社区中发布2个及以上的帖子
  • 帖子条件如下(示例地址:):
    • 推荐文章:需要是至少5篇的推荐内容,内容地址可以放超链接

    • 推荐书籍:需要大致介绍书籍重点内容,或者放书籍目录

    • 推荐视频:需要大致介绍视频重点内容

奖励评选规则:

  • 参与时间:2022年3月1号 ~ 2022年3月8号
  • CSDN定制帆布包【前20位】先到、先满足上面的条件可得(每人一个,机不可失)
  • 咖啡杯则需要根据大家的帖子内容质量,在【加精】帖子中抽奖得出(概率很大哦)

额外奖励:

  • 如果有小伙伴能够介绍给周围的小伙伴,并成功邀请他们加入社区,每拉取2个人奖励现金5元(赚个早餐钱简单)
  • 免费赠送Clickhouse学习电子书籍(即:Clickhouse教程-中文版、ClickHouse万亿数据双中心的设计与实践 )

 

奖励领取方式:

  • 添加博主微信:yyuuyy1235(备注:clickhouse社区)

试试用AI创作助手写篇文章吧