这个注册UDAF被 阿里云托管了,如果自己在sql-client.sh 注册UDAF 应该如何注册呢?全网都没有找到对应的demo
①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;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。