2016-09-07 6 views
0

Я использую Drill in Window 10 во встроенном режиме, имеющем последнюю версию 1.8.Как выбрать все имя столбца из файла (например: - csv или, json или, паркет) в Apache Drill

У меня есть Drill запрос на для выбора всех столбцов из таблицы базы данных сервера SQL: -

SELECT DISTINCT info.COLUMN_NAME AS `NAME`, info.TABLE_SCHEMA AS `TABLESCHEMA`, info.TABLE_NAME AS `TABLENAME`, info.ORDINAL_POSITION AS `POSITION`, info.IS_NULLABLE AS `ISNULLABLE`, info.DATA_TYPE AS `DATATYPE`, tc.CONSTRAINT_TYPE AS `CONSTRAINTTYPE`, kcufk.TABLE_SCHEMA AS `REFRENCESCHEMA`, kcufk.TABLE_NAME AS `REFRENCETABLE`, kcufk.COLUMN_NAME AS `REFRENCECOLUMN` FROM DemoSQLServer.INFORMATION_SCHEMA.`COLUMNS` info LEFT OUTER JOIN DemoSQLServer.INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` kcu ON kcu.COLUMN_NAME = info.COLUMN_NAME AND kcu.TABLE_NAME = info.TABLE_NAME LEFT OUTER JOIN DemoSQLServer.INFORMATION_SCHEMA.`TABLE_CONSTRAINTS` tc ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.TABLE_NAME = kcu.TABLE_NAME LEFT OUTER JOIN DemoSQLServer.INFORMATION_SCHEMA.`REFERENTIAL_CONSTRAINTS` rk ON rk.CONSTRAINT_NAME = tc.CONSTRAINT_NAME LEFT OUTER JOIN DemoSQLServer.INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` kcufk ON kcufk.CONSTRAINT_NAME = rk.UNIQUE_CONSTRAINT_NAME WHERE info.TABLE_NAME = 'Attribute' AND info.TABLE_SCHEMA = 'dbo' ORDER BY info.ORDINAL_POSITION ASC; 

Этот запрос будет возвращать все столбцы из таблицы атрибутов.

Я хочу выбрать имя столбца из некоторых файлов (например: -csv или, паркет или, json и т. Д.). Можно ли использовать сверло.?

+0

ваш вопрос непонятен. Вы не указали детали ОС и версию сверла. –

+0

Можете ли вы прояснить свой вопрос? Вы спрашиваете, как выполнить такой запрос в файле CSV или JSON? –

+0

улучшить форматирование - http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks –

ответ

2

Вы можете выбрать столбцы для файлов аналогично таблицам.

Пример запроса:

select N_NAME,N_REGIONKEY from dfs.`<drill-home>/sample-data/nation.parquet`; 

P.S. - Убедитесь, что включен плагин dfs.