Hadoop 配置单元:为分区指定不同的格式
Hadoop 配置单元:为分区指定不同的格式,hadoop,hive,Hadoop,Hive,我知道可以在表级别使用一种inputformat,在分区级别使用另一种inputformat(混合格式表),但我在文档中看不到任何说明如何实现这一点的内容。 我尝试了以下语句,但失败了: hive> alter table test_tbl_parquet add partition (year=2016,month=01,day=27) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\u0001' &g
我知道可以在表级别使用一种inputformat,在分区级别使用另一种inputformat(混合格式表),但我在文档中看不到任何说明如何实现这一点的内容。
我尝试了以下语句,但失败了:
hive> alter table test_tbl_parquet add partition (year=2016,month=01,day=27)
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY '\u0001'
> STORED AS INPUTFORMAT
> 'com.mycopmany.hive.WhaleAvroGenericInputFormat'
> OUTPUTFORMAT
> 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
> location '/mycopmany/data/test_tbl/year=2016/month=01/day=27';
FAILED: ParseException line 1:90 missing EOF at 'ROW' near ')'
你知道正确的语法是什么吗
多谢各位。
丹尼尔,你看过吗
文档中,它描述了分区的不同文件格式。尝试将第一行更改为
alter table test\u tbl\u parquet add partition(dateCol='2016-01-27')
,其中dateCol
是分区列的名称,这与我的问题有什么关系?我认为指定分区子句的方式导致了问题,我的评论表明。。希望这个评论能澄清…我有三个分区列。我不能再编一个包含它们的列。在这种情况下,您是否尝试过在分区列值周围添加引号,如-addpartition(year='2016',month='01',day='27')
?谢谢。我正在寻找通过添加分区操作指定格式的方法,但是由于找不到方法,我将使用ALTER分区操作