Hive笔记小整理

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类似于SQL查询功能,Hive Query Lanuage 简称为HQL,来对数据进行读、写、管理。
主要用途:用来做海量离线数据分析,比直接用mapreduce实时更新,比如高德地图,百度地图等等)开发效率更高。

Hive利用HDFS存储数据,利用mapreduce计算查询分析数据。 hive----->mapreduce(hive的引擎)---->查出结果 相当于我们写了HQL,hive去帮我们转换成mapreduce, 产生相应的job。

 

Hive笔记小整理_第1张图片

 

 

⬆️上传数据需要注意的的点:
hive的默认分隔符\001或者SOH或者ctrl+v+ctrl+A,分隔符的错误可能导致上传的数据为空,上传时判断数据格式,如果数据格式不正确,会默认为NULL。
hive的基本操作

©️注释符:

1. //
2. /* */
3. #
etc.
和其它语言 & SQL注释的方法基本上一致


语法规则:
1、hive 的数据库名、表名都不区分大小写(SQL是需要与操作表名保持严格一致的)名字不能使用数字开头
2、不能使用关键字
3、尽量不使用特殊符号

Hive有一个默认的数据库default,如果不明确的说明需要使用哪个库,则使用默认数据库。(SQL也有自己的默认的数据库,如不指明,则将使用自己默认的数据库,切换数据库,例如

use a;

select * from b;

或者select * from a.b;

这点与sql基本上 没有语法区别。

直接使用hadoop所面临的问题:

  1. 人员学习成本太高
  2. 项目周期要求太短
  3. MapReduce实现复杂的逻辑开发难度太大

Hive的优点:

  操作接口采用类SQL语法,提供快速开发的能力。避免了去写MapReduce,减少了人员的学习成本。功能拓展很方便。

Hive的特点:

  • 1. 可扩展
  • Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
  • 2. 延展性
  • Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
  • 3. 容错
  • 良好的容错性,节点出现问题SQL仍可完成执行。

 

你可能感兴趣的:(Hive笔记小整理)