Hive 配置单元:选择*无结果

Hive 配置单元:选择*无结果,hive,Hive,我有一个LZO格式的外部蜂巢表存储。此表中有一些行,但我无法通过“选择*”获取数据。我的表格格式肯定有问题,但我不知道如何解决 CREATE EXTERNAL TABLE tableName( column1 string ) PARTITIONED BY ( column2 string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS INPUTFORMAT 'com.hadoop.m

我有一个LZO格式的外部蜂巢表存储。此表中有一些行,但我无法通过“选择*”获取数据。我的表格格式肯定有问题,但我不知道如何解决

CREATE EXTERNAL TABLE tableName(
    column1 string
)
PARTITIONED BY ( 
    column2 string
)
ROW FORMAT DELIMITED 
    FIELDS TERMINATED BY '\t' 
STORED AS INPUTFORMAT 
    'com.hadoop.mapred.DeprecatedLzoTextInputFormat' 
OUTPUTFORMAT 
    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
    'hdfs://.../tableName'

select count(*) from tableName; //return 1
select * from tableName; //return nothing
select column1, column2 from tableName group by column1,column2; //return data1 data2
select * from tableName where column2='data2'; //return nothing

仅“选择*”不返回任何内容。可能“select*”没有通过map reduce执行?

我发现map reduce不会执行简单的SQL(没有count、sum、groupby等),这将通过fetch作业(直接读取hdfs文件)执行。但是,我的hdfs文件是以lzo格式存储的,读取它会有一些问题

一种解决方案是强制简单SQL转到map reduce

set hive.fetch.task.conversion=none;

我为真正的原因感到非常抱歉。 我忘记了LZO的参数,因此hdfs文件是文本文件格式:(

可能重复的
set hive.exec.compress.output=true;
set mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec;