相关内容
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数据,如果经常需要查询来自某个国家的某种类型的产品,则可以将后面的两个字段(type,locality)作为分区字段。创建一张分区表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

本文详细介绍了Hive的HQL数据操作,包括通过load数据、insert查询插入数据、创建表并插入数据以及导出数据的方法。内容涵盖了非分区表和分区表的数据装载,单个查询、多个查询以及动态分区插入数据,同时讲解了如何直接拷贝数据、单个查询导出和多个查询导出数据的技巧。
最低0.47元/天 解锁文章
2339

被折叠的 条评论
为什么被折叠?



