Apache 钻取显示数据类型 'ANY'

Apache drill showing datatype 'ANY'

我在 dfs.csv 文件上创建了一个视图 'names'。我尝试使用描述语句:

describe dfs.root.`names`

这是我的创建视图语句:

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

在输出的数据类型列中,我得到所有列的数据类型为 'ANY'

这是我的 csv 文件内容:

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

我的配置中的 extractHeader 参数设置为 true

关于如何在这种情况下获得确切数据类型的任何想法?

目前,DESCRIBE 不支持在文件系统中创建 table。创建视图语句不会探索查询的 table(s) 的实际模式;它只解析并保留查询。

您能否尝试使用 typeOf(columnName) 而不是:

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

您需要在视图创建期间明确指定每个的数据类型:

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`