2016-10-14 4 views
0

Заранее спасибо.Bufferer Hive Protocol - NullPointerException при создании таблицы в Hive

В настоящее время мы пытаемся создать таблицу Hive с использованием данных байтов протокола Buffer. Мы выполнили все возможные шаги по созданию таблицы Hive с использованием буфера протокола, но получая NullPointerException при создании таблицы Hive. Ниже приведены все необходимые данные.

Версии -
1. protoc 3.0.0
2. Слон-птица - 4,1 3. Hortornworks Песочница Hive версия - 1.2.1
4. Protobuf-Java 3.0.0

файл прото используется

package tutorial; 
option java_package = "com.mycom.hive.protobuf.serialized"; 
option java_outer_classname = "BankProtoTest"; 
message BankClass{ 
    required string bankAmount= 1; 
    required string bankLocation= 2; 
    optional string bankName= 3; 
} 
message BankInfo { 
    repeated BankClass bankClass = 1; 
} 

Мы создаем класс Java с помощью следующей команды

protoc.exe -I=input-proto --java_out=java-output input-proto\BankProto.proto 

Вышеупомянутая команда генерирует класс Java для файла буфера входного протокола.

После этого мы скопировали этот Java-файл протокола протокола в проект maven java, а затем создали JAR-файл. Мы скопировали файл JAR в путь hive lib i.e. '/ usr/hdp/current/hive-client/lib'.

Ниже приводится таблица команд

create external table bankproto 
    row format serde "com.twitter.elephantbird.hive.serde.ProtobufDeserializer"  
with serdeproperties 
    ("serialization.class"="com.mycom.hive.protobuf.serialized.BankProtoTest$BankInfo") 
stored as 
    inputformat "org.apache.hadoop.mapred.SequenceFileInputFormat" 
    outputformat "org.apache.hadoop.mapred.SequenceFileOutputFormat" 
location '/user/root/protobuf-input/'; 

Файл присутствует вход в месте хранится в виде файла последовательности в HDFS создания.
После выполнения этой команды получение ниже исключения.

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException java.lang.NullPointerException) 

Любая помощь, связанная с этим, ценится.

Еще раз спасибо.

Авинаш Дешмук

ответ

0

Мы можем решить эту проблему. Проблема заключалась в правильной совместимой версии версии protobuf. Мы обнаружили, что текущая версия слоновой птицы (4.14) зависит от версии protobuf 2.6.0

Смежные вопросы