2015-08-04 15 views
6

C'è un modo per aggiungere permanentemente hive jar invece di aggiungere a livello di sessione nella shell hive?Aggiunta permanente di hive jar

Qualsiasi aiuto sarebbe apprezzato

+0

Intendi JAR per UDF personalizzate? – mattinbits

+0

qualsiasi jar richiesto dalla query ..come csv-serde jar per caricare i file csv nella tabella –

risposta

0

Si dovrà mettere il vaso nella cartella lib di Hadoop o alveare in tutte i nodi.

9

Nell'host hiveserver2, creare un percorso simile a/var/lib/hive e aggiungere tutti i jar necessari all'interno di tale cartella. Modificare il alveare-site.xml e parlare di tutti questi vasi nella proprietà hive.aux.jars.path

Esempio: ADD JAR /home/amal/hive/amaludf.jar ADD JAR /home/amal/hive/amaludf2.jar

Invece di usare i comandi di cui sopra in ogni sessione, è possibile definirlo per tutte le sessioni.

Creare un percorso per la memorizzazione di questi contenitori nell'host del server hive.

mkdir /var/lib/hive 

aggiungere tutti questi vasi a quella directory

Impostare la proprietà in alveare-site.xml

<property> 
    <name>hive.aux.jars.path</name> 
    <value>/var/lib/hive</value> 
</property> 

Riavviare il hiveserver2 dopo aver fatto questa modifica.

Invece di creare una directory e mettere tutti i vasi, è possibile specificare anche i percorsi dei singoli barattoli. L'unica condizione è che tutti questi vasi debbano essere presenti nell'host del server hive.

Esempio:

<property> 
    <name>hive.aux.jars.path </name> 
    <value>file:///home/amal/hive/udf1.jar,file:///usr/lib/hive/lib/hive-hbase-handler.jar</value> 
</property> 
0

questi può essere fatto da due passi

  1. Hive client dovrebbe essere avalable in tutti i nodi.
  2. Hive La posizione live deve essere definita in hadoop-env.sh CLASSPATH e lo stesso file deve essere aggiornato in Hadoop Clueter.

{hadoop-env.sh dovrebbe essere aggiornamento con CLASSPATH di alveare e altro luogo per i vasi personalizzati definiti dall'utente e posizione comune, che sono disponibili in tutto il gruppo}

È inoltre necessario riavviare l'alveare/hadoop per avere effetto se dopo modifiche non funziona.