Как получить имена столбцов из файла JSON в Apache DrillJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как получить имена столбцов из файла JSON в Apache Drill

Сообщение Anonymous »

Я пытаюсь работать с проверкой файлов JSON с помощью Apache Drill. Я работаю как с линейными, так и с вложенными данными JSON. Я сохранил файл JSON в хранилище Drill tmp dfs/tmp/employee_src_reg_json.json. Данные JSON внутри файла выглядят следующим образом:

Код: Выделить всё

{
"employee_reg": [
{
"EmployeeID": 1,
"FirstName": "John",
"LastName": "Doe",
"Age": 35,
"Salary": 60000,
"Department": "Engineering",
"Experience": 8
},
{
"EmployeeID": 2,
"FirstName": "Jane",
"LastName": "",
"Age": 28,
"Salary": 50000,
"Department": "Marketing",
"Experience": 5
},
{
"EmployeeID": 3,
"FirstName": "Michael",
"LastName": "Johnson",
"Age": 40,
"Salary": 70000,
"Department": "Finance",
"Experience": 12
},
{
"EmployeeID": 4,
"FirstName": "Emily",
"LastName": "Williams",
"Age": 32,
"Salary": 65000,
"Department": "Human Resources",
"Experience": 9
}
]
}

Мне нужен запрос, чтобы получить имена столбцов в Apache Drill. Я попробовал выполнить следующие запросы, но не получил имена столбцов:
1)DESCRIBE dfs/tmp/employee_src_reg_json.json — это не дает доступных данных.
2)DESCRIBE (SELECT * FROM (SELECT FLATTEN(t.employee_reg) AS emp FROM dfs.tmp.employee_src_reg_json.json t) LIMIT 1) — это дает первые значения массива JSON, но не имена столбцов.
3)(SELECT FLATTEN(t.employee_reg) AS Flatdata FROM dfs.tmp.employee_src_reg_json.json t) — это дает что-то вроде:

Код: Выделить всё

00-00    Screen
00-01      Project(flatdata=[$0])
00-02        Flatten(flattenField=[$0])
00-03          Project(flatdata=[$0])
00-04            Scan(table=[[dfs, tmp, employee_src_reg_json.json]], groupscan=[EasyGroupScan [selectionRoot=file:/tmp/employee_src_reg_json.json, numFiles=1, columns=[employee_reg], files=[file:/tmp/employee_src_reg_json.json], usedMetastore=false, limit=-1, formatConfig=JSONFormatConfig [extensions=[json]]]])
{
"head" : {
"version" : 1,
"generator" : {
"type" : "ExplainHandler",
"info" : ""
}
}

4)ПОКАЗАТЬ КОЛОННЫ В (SELECT FLATTEN(t.employee_reg) FROM dfs.tmp.employee_src_reg_json.json t);
Как я могу получить имена столбцов из файла JSON?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ache-drill
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»