Apache Drill выбирает пустые массивы из JSON
Я использую Apache Drill для хранения больших файлов JSON, которые я запрашиваю с помощью Drill API следующим образом:
{
"queryType": "SQL",
"query": "select * from db.table.`/path/to/JSON.json` w "
}
Это правильно возвращает данные. Однако некоторые файлы JSON имеют пустой массив.
Например, следующее - это JSON, хранящийся в базе данных
{
"key1": ["array", "of", "data"],
"key2": ["array", "of", "data"],
"key3": ["array", "of", "data"],
"key4": ["array", "of", "data"],
"key5": ["array", "of", "data"],
"key6": ["array", "of", "data"],
"key7": [],
}
Когда я получаю эти данные, он возвращает как следующее
{
"columns": [
"key1",
"key2",
"key3",
"key4",
"key5",
"key6",
],
"rows": [
{}
]
}
key7
пропал, отсутствует. Как получить ответ, чтобы показать этот ключ, хотя он может быть пустым для некоторых из сохраненных файлов JSON.
1 ответ
Детализация не требует схемы, поэтому, если в какой-либо строке нет данных, он будет игнорировать этот столбец, если вы знаете, что этот столбец необходим, вам может понадобиться использовать оператор case или if, чтобы добавить значение по умолчанию или создать представление.