2015-07-08 30 views
5
A = LOAD 'eventnew.txt' USING HCatalogLoader(); 

2015-07-08 19: 56: 34.875 [principale] ERRORE org.apache.pig.tools.grunt.Grunt - ERRORE 1070: Impossibile risolvere HCatalogLoader utilizzando le importazioni: [, java.lang, org.apache.pig.builtin, org.apache.pig.impl.builtin...] Dettagli al file di log: /home/KS5023833/pig_1436364102374.logOttenere un errore in esecuzione HCatalog

poi ho provato

A = LOAD 'xyz' USING org.apache.hive.hcatalog.pig.HCatLoader(); 

Anche questo non funziona.

1070: Impossibile risolvere org.apache.hive.hcatalog.pig.HCatLoader utilizzando le importazioni:.. [, Java.lang, org.apache.pig.builtin, org.apache.pig.impl.builtin .]

qual è il problema? Sono un principiante in Hadoop.

+0

quando hai lanciato la shell 'grunt>', hai digitato '$ pig -useHCatalog'? – gobrewers14

risposta

4

Come dichiarato da GoBrewers14, è necessario avviare il maiale con -useHCatalog. Se si esegue uno script di maiale in alternativa è quello di determinare la posizione del vaso HCatalog e aggiungere una dichiarazione registrarsi con il percorso del vaso alla parte superiore dello script

Esempio:

REGISTER /home/user/Installations/hive-0.11.0-bin/hcatalog/share/hcatalog/hcatalog-core-0.11.0.jar;

ovviamente il tuo percorso/versione potrebbe essere diverso.

+2

Trivial, ma solo per chiarire per i novizi: dove normalmente chiameresti 'pig' ora puoi semplicemente chiamare' pig -useHCatalog' (attenzione alla maiuscola). Quindi questo può essere usato per l'esecuzione nel terminale, o per chiamare uno script con 'pig -useHCatalog -f yourscript.pig' Naturalmente questo è richiesto anche per qualsiasi script contenente' HCatStorer'. –

0

È ora possibile lanciare shell maiale semplicemente utilizzando il comando da usare HCatalog-

pig -useHCatalog 
grunt> a = load 'table' using org.apache.hive.hcatalog.pig.HCatLoader(); 
0

stavo affrontando lo stesso problema, fissato come segue: Inizio maiale utilizzando l'opzione "-useHCatalog".

maiale -useHCatalog

quindi provare: A = LOAD 'eventnew.txt' UTILIZZO HCatalogLoader();