I'm trying to get the column headers into a S3 file.
When I run this on the hive command line:
set hive.cli.print.header=true;
select * from abc;
Things work fine, I'm able to see the column headers with the table data on the console.
But my query is, when I try something like this:
set hive.cli.print.header=true;
CREATE TABLE test123 ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS TEXTFILE LOCATION 's3://somelocation' AS
select * abc;
The column headers are missing from the S3 file.
Is this the expected behaviour or am I missing something?
It does not work like that.
The columns names are not written as headers to the data files.
The columns` information (names, types, order) is kept in a "metastore" -
a database (MySql, Derby, Oracle, etc.) that holds hive's metadata.