第5章 HiveQL数据操作
在上一章中介绍了HiveQL的数据定义部分,所谓数据定义就是对数据库中表结构的增删改查;而数据操作则是关注对数据库中表的数据的操作,即如何装载数据到表中,如何从这些表中查询想要的数据。对于其他传统数据库还会关注对某一条数据的增删改查,但是Hive定位是批量数据的查询操作,所以不会关注行级别的数据的更新插入操作。
首先,Hive表中的数据从哪来?—>数据导入导出
- 既然Hive没有行级别的数据插入,数据更新和删除操作,那么旺表中装载数据的唯一途径就是使用一种大量的数据装载操作。或者是通过其他方式仅仅将文件写入到正确的目录下。简而言之,Hive中数据的来源是批量导入或者写入的。
- Hive中表的数据来源有四种:hbase,hadfs,本地,其他hive表,而hive表本身有两种:内部表和外部表。内部表和外部表的区别:区别:删除时,内部表删除hadoop上的数据;而外部表不删,其数据在外部存储,
- hive中数据的导出有三种方式:导出到其他hive表,导出到本地,导出到hdfs
- 本地和hdfs的区别在于语句中有无local,比如:
- 本地导入:load data local inpath ‘wyp.txt’ into table wyp;
- hdfs导入:load data inpath ‘/home/wyp/add.txt’ into table wyp;
相关阅读:
hiveQL 数据查询
在创建好数据库和相关表结构,并导入数据之后,接下来就是对数据的查询操作了,而数据查询也是hive中使用最多最核心的业务了,如果熟悉SQL相关知识,那么学习hiveQL查询就相当容易,但需要注意语法上的相关区别。