Apache дрель, показывающая тип данных «ЛЮБОЙ» - PullRequest
0 голосов
/ 29 мая 2018

Я создал представление 'names' над файлом csv в dfs.Я попытался использовать оператор description:

describe dfs.root.`names`

Вот мой оператор создания представления:

create view dfs.root.`names` as select id,name,city from dfs.root.`names.csv`

В выводе, в столбце типа данных я получаю тип данных для всех столбцов как 'ЛЮБОЙ'

Вот содержимое моего csv-файла:

id,name,city
1,shrinivas,pune
2,harshal,morgaon
3,nikhil,chiplun
4,ravinder,chandigarh

параметр extractHeader в моей конфигурации имеет значение true

Любые идеи о том, как получить точные данныетипа в этом случае?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Вам необходимо явно указать тип данных каждого при создании представления:

create view dfs.root.`names` as select cast(id as smallint) ID,cast(name as varchar) NAME,cast(city as varchar) CITY from dfs.root.`names.csv`
0 голосов
/ 30 мая 2018

В настоящее время DESCRIBE не поддерживает таблицы, созданные в файловой системе.Оператор create view не исследует фактическую схему таблиц запроса;он только анализирует и сохраняет запрос.

Можете ли вы попробовать использовать typeOf (columnName) вместо этого, например:

select typeof(id), typeof(name), typeof(city) from dfs.root.`names.csv`;
...