2016-10-11 2 views
1

У меня есть корпус документов JSON, и я хочу конвертировать/хранить их в формате Паркет для эффективной обработки с использованием C++. У меня есть 2 вопроса относительно процесса:Преобразование документов JSON в паркет

Q1- Во всех подобных примерах и случаях тестов, которые я нашел в Интернете для преобразования данных в формат паркет (например, this), кажется, что схема должна быть определена перед время. Однако мои документы JSON не соответствуют единой/фиксированной схеме. Мне просто интересно, действительно ли определение схемы действительно является требованием или нет (как я полагаю, Parquet предназначен для поддержки неструктурированных данных с эффективным вложением и необязательными значениями).

Q2- Почти все доступные примеры используют библиотеки Java. Тем не менее, я ищу эффективный способ сделать такое преобразование в C++. Любой намек на это? (Я начал смотреть на Parquet-cpp repo и его тестовые примеры, но мне интересно, есть ли более краткий пример с доступными минимальными зависимостями).

ответ

2

A1: Паркет поддерживает вложенные и необязательные значения, но вам необходимо заранее указать схему, которая определяет эти вложенные/необязательные элементы данных.

A2: паркет-cpp - единственная библиотека C++, которую я знаю для паркета. Конечно, это не единственный способ написать Parquet - Impala, например, реализует свой собственный стек Parquet, но вы, вероятно, не хотите этого делать.

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