如何在hive中加载csv数据,并将某些列作为分区?

时间:2016-01-28 21:48:13

标签: hadoop hive

我们说我有这样的数据

player_id, stat_id1, stat_id2, year,team_id

我可以在Hive中创建这样的表,然后加载数据。

CREATE TABLE data
(`player_id` INT,stat_id1 INT,`stat_id2` INT,`year` int,`team_id` INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
;

让我们说我想创建两个分区year,team_id。我如何在蜂巢中这样做?有什么办法可以改变上面的命令来实现这个目标吗?或者我是否必须遵循其他程序?

1 个答案:

答案 0 :(得分:0)

在DDL中添加partition子句应该创建2个partiti

CREATE TABLE data
(
`player_id` INT,
stat_id1 INT,
`stat_id2` INT,
`year` int,
`team_id` INT)
PARTITIONED BY (year int, team_id int)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
;

您可能需要将上面的表作为临时表,以便映射输入数据,然后将该表中的数据加载到新表中,以使用insert命令对其进行分区。