Получение чтения исключений из таблицы avro с помощью консоли Spark или Hive - Не удалось получить значение maxLength для поля varchar из схемы файла: «строка» - PullRequest
0 голосов
/ 09 января 2020

Я создал 2 таблицы в Hive

CREATE external TABLE avro1(id INT,name VARCHAR(64),dept VARCHAR(64)) PARTITIONED BY (yoj VARCHAR(64)) STORED AS avro;

CREATE external TABLE avro2(id INT,name VARCHAR(64),dept VARCHAR(64)) PARTITIONED BY (yoj VARCHAR(64)) STORED AS avro;

Введены данные в таблицу avro1 из консоли Hive: -

INSERT INTO TABLE avro1 PARTITION (yoj = 2015) (id,name,dept) VALUES (1,'Mohan','CS');
INSERT INTO TABLE avro1 PARTITION (yoj = 2015) (id,name,dept) VALUES (2,'Rahul','HR');
INSERT INTO TABLE avro1 PARTITION (yoj = 2016) (id,name,dept) VALUES (3,'Kuldeep','EE');

Теперь запущено потоковое приложение с искровым структурированием для ввода данных в таблица avro2 Теперь, когда я читаю из консоли куста или использую Spark, из таблицы avro 2 я получаю эту ошибку

Ошибка с исключением java .io.IOException: org. apache .had oop .hive.serde2.avro.AvroSerdeException: не удалось получить значение maxLength для поля varchar из схемы файла: «строка

1 Ответ

0 голосов
/ 15 января 2020

Не могли бы вы попробовать следующую команду для вставки данных в таблицу Hive из spark-shell,

spark. sql ("INSERT INTO TABLE avro1 PARTITION (yoj = 2015) (id, name, dept) ЦЕННОСТИ (1, «Мохан», «КС») »); spark. sql («Вставить в таблицу avro1 PARTITION (yoj = 2015) (id, name, dept) VALUES (2,« Rahul »,« HR »)»); spark. sql («ВСТАВИТЬ В ТАБЛИЦУ avro1 PARTITION (yoj = 2016) (id, name, dept) VALUES (3, 'Kuldeep', 'EE')");

...