RUVIDEO
Поделитесь видео 🙏

flinksql 1.13 中使用用户自定义function jna 静态库 so文件

目的 效果:
实现flinksql 1.13 中使用自定义函数(udf udaf udtf),并且自定义函数中调用 动态库(.so)
// youtube不允许尖括号 我都替换为 | 了.

// flink udf udaf udtf : https://ci.apache.org/projects/flink/flink-docs-master/zh/docs/dev/table/functions/udfs/

// 写c代码; 写jna; 编译so文件; https://blog.csdn.net/qq_35515661/article/details/120978595

文件libcalc.scala:
package com.yy.udf

import com.sun.jna.Library

trait libcalc extends Library{
def add(num1:Int,num2:Int):Int
}

文件udfUseSoFile.scala:
import com.sun.jna.Native
import org.apache.flink.table.functions.ScalarFunction

class udfUseSoFile extends ScalarFunction{
def eval(x:Int,y:Int) ={
val libc: libcalc = Native.load("/data/build_so/libcalc.so", classOf[libcalc])
libc.add(x, y)
}
}


// udf调用 c编写的动态链接库(.so文件)
create temporary function udfUseSoFile as 'com.yy.udf.udfUseSoFile';
select udfUseSoFile(10,20);

// 注意: 这里会疯狂报错类没找到,你别以为真的在你的jar中找不到,其实是缺少jna的包.
Flink SQL| select udfUseSoFile(10,20);
[ERROR] Could not execute SQL statement. Reason:
java.lang.ClassNotFoundException: com.yy.udf.udfUseSoFile
解决方法:
cd flink/lib
wget https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.9.0/jna-5.9.0.jar
然后重启flink sql client 即可.

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «flinksql 1.13 中使用用户自定义function jna 静态库 so文件», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.