我有一个蜂巢表dynpart。
id int
name char(30)
city char(30)
thisday string
# Partition Information
# col_name data_type comment
thisday string
它被'今天'分区。其数据类型为STRING。 如何将单个记录插入特定分区的表中。我知道有load命令将整个文件数据加载到hive表中。我只想知道如何为分区表编写Insert语句。我尝试写下面的命令,但这是从另一个表中获取数据。
insert into droplater partition(thisday='30/03/2017') select * from dynpart;
表格:Droplater与dynpart具有相同的结构。但上面的命令是从另一个表中插入数据。我想学习的是将一个简单的插入命令写入分区,例如:insert into tabname values(1,"abcd","efgh");
到表中。
答案 0 :(得分:3)
这仅适用于基本类型(没有数组,结构等)
insert into tabname partition (thisday='30/03/2017') values (1,"abcd","efgh");
这适用于所有类型
insert into tabname partition (thisday='30/03/2017') select 1,"abcd","efgh";
P.S。
无论如何,按日期((thisday date)
)
insert into tabname partition (thisday=date '2017-03-30') ...
或至少使用ISO日期格式
insert into tabname partition (thisday='2017-03-30') ...