我有一个包含ORC文件的目录.我正在使用以下代码创建一个DataFrame
var data = sqlContext.sql("SELECT * FROM orc.`/directory/containing/orc/files`");
Run Code Online (Sandbox Code Playgroud)
它返回此架构的数据框
[_col0: int, _col1: bigint]
Run Code Online (Sandbox Code Playgroud)
预期架构在哪里
[scan_nbr: int, visit_nbr: bigint]
Run Code Online (Sandbox Code Playgroud)
当我查询镶木地板格式的文件时,我得到了正确的架构.
我错过了任何配置吗?
添加更多细节
这是Hortonworks Distribution HDP 2.4.2(Spark 1.6.1,Hadoop 2.7.1,Hive 1.2.1)
我们没有更改HDP的默认配置,但这绝对不同于Hadoop的普通版本.
数据由上游Hive作业写入,一个简单的CTAS(CREATE TABLE样本存储为ORC作为SELECT ...).
我在CTAS使用最新的2.0.0配置单元生成的文件上对此进行了测试,并保留了orc文件中的列名称.