Возникли проблемы при попытке сохранить данные в базе данных Hive с помощью HCatStorer()

Я использую PIG для хранения данных таблицы в базе данных куста с помощью HCatalog. Мне удалось загрузить и сбросить данные в оболочке PIG grunt, но когда я пытаюсь сохранить загруженные данные в таблицу HIVE, которую я создал как myweather.weathertable1 (имя myweather-базы данных, weathertable1 -table name1), используя приведенную ниже команду.

STORE A INTO 'myweather.weathertable1' USING org.apache.hcatalog.pig.HCatStorer();

Я сталкиваюсь со следующей ошибкой:

2015-07-11 20:20:09,056 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not resolve org.apache.hcatalog.pig.HCatStorer using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
Details at logfile: /X/Y/pig_1436660283762.log

И файл журнала говорит:

ERROR 1070: Could not resolve org.apache.hcatalog.pig.HCatStorer using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]

Failed to parse: Pig script failed to parse:
<line 4, column 45> pig script failed to validate: org.apache.pig.backend.executionengine.ExecException: ERROR 1070: Could not resolve org.apache.hcatalog.pig.HCatStorer using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
        at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:196)
        at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1660)
        at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1633)
        at org.apache.pig.PigServer.registerQuery(PigServer.java:587)
        at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:1093)
        at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:501)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:173)
        at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
        at org.apache.pig.Main.run(Main.java:541)
        at org.apache.pig.Main.main(Main.java:156)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

Любая помощь в устранении вышеуказанной проблемы может быть очень ценной. Заранее спасибо.


person Mohana    schedule 12.07.2015    source источник
comment
возможный дубликат Получение ошибки при запуске HCatalog   -  person Jake_    schedule 15.07.2015


Ответы (1)


Попробуйте запустить свинку с опцией -useHCatalog. Он загрузит необходимые банки. См. документацию HCat.

person Frederic    schedule 12.07.2015
comment
@Fred спасибо за ваш ответ. Я использовал pig -useHCatalog перед публикацией этого вопроса. Я, наконец, исправил проблему, заменив org.apache.hcatalog.pig.HCatStorer() на org.apache.hive.hcatalog.pig.HCatStorer() . К сожалению, документация Apache Hive еще не обновила эту ошибку (cwiki.apache.org/confluence/display/Hive/). - person Mohana; 02.08.2015