Compile and package
mvn clean package
At this time we can get a java-udf-demo.jar
Register function
Register encryption function
There are two parameters here, one is the encrypted content, the other is the secret key, and the return value is a string
Local file mode
CREATE FUNCTION ase_encryp(string,string) RETURNS string PROPERTIES (
"file"="file:///path/work/doris.java.udf.demo/target/java-udf-demo.jar",
"symbol"="org.apache.doris.udf.demo.AESEncrypt",
"always_nullable"="true",
"type"="JAVA_UDF"
);
http method
CREATE FUNCTION ase_encryp(string,string) RETURNS string PROPERTIES (
"file"="http://hostname/work/doris.java.udf.demo/java-udf-demo.jar",
"symbol"="org.apache.doris.udf.demo.AESEncrypt",
"always_nullable"="true",
"type"="JAVA_UDF"
);
Run function
mysql> select ase_encryp('zhangfeng','java_udf_function');
+----------------------------------------------+
| ase_encryp('zhangfeng', 'java_udf_function') |
+----------------------------------------------+
| 4442106BB8C98E74D19CEC0413467810 |
+----------------------------------------------+
1 row in set (0.76 sec)
Decryption function
CREATE FUNCTION ase_decryp(string,string) RETURNS string PROPERTIES (
"file"="file:///path/work/doris.java.udf.demo/target/java-udf-demo.jar",
"symbol"="org.apache.doris.udf.demo.AESDecrypt",
"always_nullable"="true",
"type"="JAVA_UDF"
);
http method
CREATE FUNCTION ase_decryp(string,string) RETURNS string PROPERTIES (
"file"="http://hostname/work/doris.java.udf.demo/java-udf-demo.jar",
"symbol"="org.apache.doris.udf.demo.AESDecrypt",
"always_nullable"="true",
"type"="JAVA_UDF"
);
Run function
mysql> select ase_decryp('4442106BB8C98E74D19CEC0413467810','java_udf_function');
+---------------------------------------------------------------------+
| ase_decryp('4442106BB8C98E74D19CEC0413467810', 'java_udf_function') |
+---------------------------------------------------------------------+
| zhangfeng |
+---------------------------------------------------------------------+
1 row in set (0.02 sec)