如何在hive中使用epoch小时向分区添加分区?

时间:2014-10-23 17:36:02

标签: hadoop hive hiveql

我以前在每日分区中都有数据,

'2014/01/01
 2014/01/02'

我曾经使用

添加分区
'ALTER TABLE reporting_events_raw ADD PARTITION(year='2014', month='01', day='01')
 LOCATION 'path/folder/2014/01/01';'

并在create table语句中给出

'PARTITIONED BY (year string, month string, day string)'

现在我们将按照每小时格式创建新分区,例如

'folder/534800
 folder/534801
 folder/534802'

我无法弄清楚如何在表格中添加分区。

任何人都可以告诉我如何添加分区以及如何在create table语句中声明该分区类型。

1 个答案:

答案 0 :(得分:0)

纪元时间只不过是一个重要的价值

  

'PARTITIONED BY(year string,month string,day string,epoch_hour bigint)'

您可以在插入覆盖查询中使用动态分区

INSERT OVERWRITE TABLE abc PARTITION ( year, month , day , epoch_hour )
select 
col1,
col2,
'2014' as year,
'01' as month,
'01' as day,
UNIX_TIMESTAMP('2014-01-01 00:00:00') as epoch_hour
from source_table;

请注意,您还需要从我上面硬编码的数据中推导出年,月,日。 请知道这是否对您有所帮助。