我有几个hadoop流API程序并使用以下输出格式生成输出:“org.apache.hadoop.mapred.SequenceFileOutputFormat”并且流API程序可以读取输入格式为“org.apache.hadoop.mapred.SequenceFileAsTextInputFormat”的文件。
输出文件中的数据如下所示。
val1-1,val1-2,val1-3
val2-1,val2-2,val2-3
val3-1,val3-2,val3-3
现在我想用 hive 读取输出。我用这个脚本创建了一个表:
CREATE EXTERNAL
TABLE IF NOT EXISTS table1
(
col1 int,
col2 string,
col3 int
)
PARTITIONED BY (year STRING,month STRING,day STRING,hour STRING)
ROW FORMAT DELIMITED
FIELDs TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.SequenceFileAsTextInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.mapred.SequenceFileOutputFormat'
LOCATION '/hive/table1';
当我用查询查询数据时
select * from table1
结果将是
val1-2,val1-3
val2-2,val2-3
val3-2,val3-3
似乎第一列已被忽略。我认为 hive 只是使用值作为输出而不是键。有任何想法吗?