Hive,Orc,Hadoop,_col
蜂房表:
CREATE EXTERNAL TABLE `my_table`(
`h_cd` varchar(5) ,
`h_dt` date ,
`h_cd` char(3))
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
LOCATION 'hdfs://somelocation/';
在我使用插入一些数据之后
insert into `my_table` select * from `another_table`;
我做了ORCDUMPFILE,我看到了这个STRUCT
hive --orcfiledump hdfs://somelocation/000000_0
INFO [main] orc.RecordReaderImpl:未提供阅读器架构-使用文件schema struct<_col0:varchar(5),_col1:date,
为什么它会丢失列名?
这仅在我们使用HIVE时发生。如果我使用DataFrame / DataSet API从Source读取并写入Target,它会保留名称。
我得到了一些包含100多个列的表,而失去名字就是杀手。