Hive 配置单元创建前导为零的分区

Hive 配置单元创建前导为零的分区,hive,amazon-emr,Hive,Amazon Emr,我正在使用hivehive 1.0.0-amzn-3, 在此版本中,配置单元动态创建分区,它忽略分区字段类型的类型。在我的例子中,它创建前导为零的分区,而字段类型是整数 day_ts=16/hour_ts=05 当我将hive升级到hive 2.1.1-amzn-0 行为发生了变化,新分区与字段类型对齐,前导零被删除 day_ts=16/hour_ts=4 感谢任何关于如何允许hive 2.1保持前导零的线索。 谢谢 以下是一个示例 CREATE EXTERNAL TABLE `partit

我正在使用hivehive 1.0.0-amzn-3, 在此版本中,配置单元动态创建分区,它忽略分区字段类型的类型。在我的例子中,它创建前导为零的分区,而字段类型是整数

day_ts=16/hour_ts=05
当我将hive升级到hive 2.1.1-amzn-0 行为发生了变化,新分区与字段类型对齐,前导零被删除

day_ts=16/hour_ts=4
感谢任何关于如何允许hive 2.1保持前导零的线索。 谢谢

以下是一个示例

CREATE EXTERNAL TABLE `partitions_hell`(
  `a` string COMMENT,
  `b` string COMMENT  
  )
PARTITIONED BY (
  `day_ts` bigint,
  `hour_ts` int)
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
  's3://xarkadiy-snbx/partitions_hell'

TBLPROPERTIES (
  'orc.compress'='SNAPPY'
)
在配置单元1.0.0中运行以下查询

INSERT INTO TABLE partitions_hell_arkadiy partition(day_ts=16, hour_ts=05)
SELECT '11',
       'rwr'
FROM partitions_hell_arkadiy
在配置单元2.1.0中运行以下查询

INSERT INTO TABLE partitions_hell_arkadiy partition(day_ts=16, hour_ts=04)
select '131', 'rw33rr'
from  partitions_hell_arkadiy
结果:

hive> show partitions default.partitions_hell
    > ;
OK

day_ts=16/hour_ts=05
day_ts=16/hour_ts=4
Time taken: 0.111 seconds, Fetched: 5 row(s)
在另一个SO问题中有一个。在另一个SO问题中有一个。