Hive入门(三):HQL数据操作——数据装载与保存

本文详细介绍了Hive的HQL数据操作,包括通过load数据、insert查询插入数据、创建表并插入数据以及导出数据的方法。内容涵盖了非分区表和分区表的数据装载,单个查询、多个查询以及动态分区插入数据,同时讲解了如何直接拷贝数据、单个查询导出和多个查询导出数据的技巧。
摘要由CSDN通过智能技术生成

相关内容
Hive入门(一):Hive Shell的基本操作
Hive入门(二):HQL数据定义
Hive入门(三):HQL数据操作——数据装载与保存
Hive入门(四):HQL查询语句(一)
Hive入门(四):HQL查询语句(二)

开始

主要内容:
1.load装载数据;
2.insert查询插入数据:单个查询,多个查询,分区动态插入;
3.查询创建表并插入数据;
4.导出数据:直接拷贝,insert 导出。

装载数据

本地有数据文件products.dat,内容如下。

F-000212,Dali milk,2.0,food,China
F-002839,Ice cream,12.0,food,China
F-000233,Banana milk,5.0,food,China
E-001283,Water watch,399,electronics,China
E-230004,S007 Phone,1999,electronic,China

通过load转载数据

非分区表load导入数据

创建一张非分区表。

hive (mydb)> create table products(id string, name string, price int, type string, locality string)
           > row format delimited
           > fields terminated by ',';

然后通过load将products.dat导入表。
local表示数据在本地。如果数据保存在hdfs上,则无需local关键字。(可选)
overwrite表示覆盖重写。如果表目录下存在文件,则会被删除。如果不使用overwrite,则只会将新文件据添加至原目录下。(可选)
/path/products.dat数据文件的路径。通常这里的路径为一个目录,如/path,而不是指向具体的单个文件。如果这里是本地路径,那么数据被上传到到HDFS上来。而如果这是HDFS路径,则数据只是被转移到新的路径下。

hive (mydb)> load data local inpath '/path/products.dat'
           > overwrite into table products;

分区表load导入数据

观察products.dat数据,如果经常需要查询来自某个国家的某种类型的产品,则可以将后面的两个字段(typelocality)作为分区字段。创建一张分区表part_products如下。

hive (mydb)> create table part_products(id string, name string, price int)
           > partitioned by (type string, locality string)
           > row format delimited
           > fields terminated by ',';

倘若现在要向(type=food,locality=China)的分区加载数据。我们有一份products-china-food.dat文件,符合分区字段的要求。

F-000212,Dali milk,2.0,food,China
F-002839
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值