Заранее спасибо.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)
Любая помощь, связанная с этим, ценится.
Еще раз спасибо.
Авинаш Дешмук