Я создал тему Кафки, которая получает данные JSON. Поскольку я выполняю массовую загрузку (из локальной обработки файлов), я решил отправить сразу несколько данных (размер пакета 100 записей).
Итак, вместо отправки отдельных элементов JSONсогласно сообщению Kafka, я объединяю их в массив JSON и отправляю это в кластер Kafka, например
[{ "att1" : 1, "att2" : "test1" },
{ "att1" : 2, "att2" : "test2" },
... ]
Я импортирую эти данные в базу данных Hive с помощью задания Spark Streaming. Задание извлекает различные элементы JSON из массива и сохраняет их один за другим в таблице Hive. Это прекрасно работает.
Теперь я хочу использовать внешнюю таблицу Hive с KafkaStorageHandler (https://github.com/apache/hive/tree/master/kafka-handler) для доступа к моему брокеру Kafka из Hive. Здесь я также хочу показатьэлементы в разных строках -> один элемент JSON на строку.
Вот моя проблема : так как я отправляю свои данные в виде массива JSON, я не смог выяснить, есть лиспособ извлечения или доступа к различным элементам в массиве, так что мне не нужен массив или структура в моей таблице Hive с помощью KafkaStorageHandler.