У меня массивный набор данных, хранящийся в Azure BLOB в формате JSON. Некоторые приложения постоянно добавляют к нему новые данные. BLOB организованы в перегородках типаСпециальные запросы к массивному набору данных JSON
/dataset={name}/date={YYYY-MM-DD}/one_or_more_json_files
Данные не соответствуют какой-либо конкретной схеме. Имена полей JSON не совпадают. Некоторые строки JSON могут быть разбиты.
Может ли кто-нибудь посоветовать хороший способ запросить эти данные без предварительного указания схемы. Я хотел бы сделать что-то вроде
select * from my_huge_json_dataset where dataset='mydataset' and date>'2015-04-01'
без определения явной схемы для таблицы
Моего первым рассмотрение был HIVE, но оказывается, что SerDe нужна схема, чтобы определить для создания таблицы. json_tuple может быть ответом, но он чувствителен к регистру и падает, если встречается некорректная строка json.
Я также рассматриваю сверло Apache и свиньи, но у них нет опыта работы с ними, и мне хотелось бы получить некоторые рекомендации.
Поддерживает ли разделение или запросы только один файл? – irriss
@ Ruslan да, вы можете запросить один файл или каталог (при условии, что все файлы имеют очень похожую структуру json), а также можно оптимизировать запросы путем разделения данных [см. Этот пример] (https://drill.apache.org/ Docs/как к перегородке-данные /) –