4paradigm / 4paradigm/OpenMLDB
external udf in offline
- Langage dominant
- C++
- Étoiles
- 1.7k
- Forks
- 331
- Merge moyen
- 12 j 12 h
- PR mergées (30 j)
- 1
Description
In batch, udf register is weird, need fix.
- udf load
https://github.com/4paradigm/OpenMLDB/blob/29b74f721e12b09142413b58a71112e5925aaaf2/java/openmldb-batch/src/main/scala/com/_4paradigm/openmldb/batch/SparkPlanner.scala#L352-L371
If file in proto is abs path, e.g. /tmp/libudf.so, it cuts to libudf.so and use `/libudf.so` to register
in local mode(yarn mode will use libudf.so, and now we'll use `/libudf.so` to load it, it's ok)
- still in local mode, openmldbCatalogService will register udf first, then engine in sparkplanner will register again, so in local mode the abs udf register succeed in the first time, failed in second time, it's confused. Test should be caution.
**No offline udf test** (local & yarn), `create function` only effects taskmanager, we should run the job to check udf load in batch.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
The issue points to SparkPlanner.scala lines 352-371 for UDF loading logic. Examine how absolute paths are handled and the double registration in local mode. Check openmldbCatalogService and SparkPlanner registration order. Run existing batch tests to see if any test UDF functionality; the issue notes there is no offline UDF test, so you may need to create one. Verify behavior in both local and YARN modes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, scala
- Domaine
- backend, databases, machine-learning
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100