2017-09-22 2 views
0

Je dois effectuer une requête sur la base de données de ruche en utilisant apache metamodel.Mais les fonctions telles que la variance et l'écart-type qui sont présents dans la ruche ne sont pas présents dans le métamodèle. Quand je fais un appel API reste, je reçois l'erreur suivante:Comment écrire des fonctions définies par l'utilisateur comme la variance, l'écart-type pour la ruche dans Apache Metamodel?

"error": "Internal Server Error", 
    "exception": "org.apache.metamodel.query.parser.QueryParserException", 
    "message": "Not capable of parsing SELECT token: variance(age)", 
    "path": "/minimum" 

Comment puis-je écrire une fonction définie par l'utilisateur à cet effet?

Répondre

0

Jetez un oeil à la MetaModel wiki page on the UDF subject. Il a de bons exemples de fonctions scalaires et agrégées.

Cependant, je ne pense pas que ces agrégations seront poussées vers la base de données elle-même. Ils finiront par être traités côté client, ce qui n'est pas optimal.

+0

Avez-vous une meilleure solution que celle-ci? –

+0

Non sans apporter des modifications à MetaModel. Ce qui serait génial bien sûr - je parie qu'il y aurait un bon accord de la communauté si vous aviez quelque chose en tête qui rendrait les FDU plus puissantes. –