Мы изучаем, позволяет ли Hive запускать SQL-запросы на динамическую схему стиля mongo в качестве предшественника наших сокращений на карте.Создание таблицы улья для динамических схем
Данные поступают в виде нескольких файлов TiB BSON; каждый из файлов содержит JSON «образцы». Пример выборки приведен в качестве таковых:
{
"_id" : "SomeGUID",
"SomeScanner" :
{
"B64LR" : 22,
"Version" : 192565886128245
},
"Parser" :
{
"Size" : 73728,
"Headers" :
[
{
"VAddr" : 4096,
"VSize" : 7924.
. . . etc. . . .
В динамической схеме, лишь немногие из полей гарантированно существует.
Мы хотели бы, чтобы иметь возможность выполнить запрос от входного набора, который может быть что-то вроде
SomeScanner.Parser.Headers.VSize > 9000
Посмотрев вверх таблицы картографии, я не уверен, является ли выполнимо с Улей. , , как бы отобразить столбец, который может или не может быть там. , , не говоря уже о том, что в типичном образце имеется примерно 2k-3k запросов.
Следовательно, мои вопросы к экспертам:
- Может Hive построить динамическую схему из данных, которые он встречает?
- Как можно построить таблицу улья с ~ 3k столбцами?
- Есть ли лучший способ?
Оценка, как всегда.