Flink基礎(69):FLINK SQL(46) 自定義函式(五)使用IntelliJ IDEA開發自定義函式
阿新 • • 發佈:2021-08-07
本文為您介紹如何使用IntelliJ IDEA開發實時計算Flink版自定義函式,包括搭建開發環境和實時計算Flink版作業中引用自定義函式。
背景資訊
注意- 僅獨享模式支援自定義函式功能。
- 請使用IntelliJ IDEA工具開發自定義函式。
配置Maven
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00) Maven home: /Users/<userName>/Documents/maven/apache-maven-3.5.0 Java version: 1.8.0_121, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"
搭建開發環境
實時計算Flink版作業引用JAR包
package com.hjc.test.blink.sql.udx; import org.apache.flink.table.functions.FunctionContext; import org.apache.flink.table.functions.ScalarFunction; public class StringLengthUdf extends ScalarFunction { // 可選,open方法可以不編寫。 // 如果編寫open方法,需要宣告'import org.apache.flink.table.functions.FunctionContext;'。 @Override public void open(FunctionContext context) { } public long eval(String a) { return a == null ? 0 : a.length(); } public long eval(String b, String c) { return eval(b) + eval(c); } //可選,close方法可以不編寫。 @Override public void close() { } }