2015-10-27 21 views
7

ho sviluppato un UDF alveare in Java che funziona correttamente, la mia funzione restituire la migliore corrispondenza tra l'ingresso e una colonna in una tabella di alveare, in modo da avere questo pseudo-codice semplificato:Hive UDF che utilizzano Hive tavolo

class myudf extends udf{ 

    evaluate(Text input){ 

     getNewHiveConnection(); //i want to replace this by getCurrentHiveUserConnetion(); 
     executeHiveQuery(input); 
     return something; 
} 

La mia domanda è, se questa funzione è invocata da Hive, perché ho bisogno di connettermi ad hive nel mio codice? posso usare la connessione corrente che l'utente che usa la mia funzione è connesso da?

risposta

-2

Sì, è possibile rendere permanente l'UDF. Ad esempio:

Ciò renderà la funzione permanente e chiunque sarà in grado di chiamarla. In questo caso, il file jar è memorizzato su HDFS per una facile accessibilità, ma ci sono altre opzioni.

Vedere Hive wiki per ulteriori dettagli.

+0

Questo non è quello che sto cercando, voglio usare la connessione corrente usata dall'utente che invoca il mio udf, invece di creare una nuova connessione, solo per renderlo più veloce. – 54l3d