开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

这个注册UDAF被 阿里云托管了,如果自己在sql-client.sh 注册UDAF 应该如何注册呢

这个注册UDAF被 阿里云托管了,如果自己在sql-client.sh 注册UDAF 应该如何注册呢?全网都没有找到对应的demo

展开
收起
爱喝咖啡嘿 2022-12-12 10:11:01 207 1
1 条回答
写回答
取消 提交回答
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    ①mvn clean package 或者直接点击intellij右侧的package按钮来进行编译

    ②编译得到的jar放入到集群的下面,最终路径如下(不一定非要下面这个路径,也可以是其他你自己指定的路径): $FLINK_HOME/lib/table_api-1.0-SNAPSHOT.jar

    ③下面这步有说法是zeppelin才需要,sql-client不需要

    $FLINK_HOME/conf/flink-conf.yaml中末尾加入这么一句

    flink.execution.jars: /home/appleyuchi/bigdata/flink-1.12/lib/table_api-1.0-SNAPSHOT.jar

    上面的jar只要放到你启动flink sql client 的那个节点中的$FLINK_HOME/lib下面即可,不需要同步到其他节点

    自己去把所有udf整合到一个jar中来. ④启动Flink SQL Client 输入 create temporary function hash_compute as 'Hashstring'; 先启动Flink SQL Client,后把jar拷贝到②中,那么必须重启Flink sql client,否则会识别不到该jar。

    ⑤定义source

    CREATE TABLE orders ( order_uid BIGINT, product_name String, price DECIMAL(32, 2), order_time TIMESTAMP(3) ) WITH ( 'connector' = 'datagen' );

    SELECT * FROM orders; datagen随机生成.

    调用UDF select hash_compute(product_name) from orders;

    2022-12-12 10:23:19
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载