数据分析工具hive(一)--基础篇

Hive介绍

什么是数据仓库?

数据仓库之父比尔•恩门(Bill Inmon)在1991年出版的"Building the Data Warehouse"(《建立数据仓库》)一书中所提出的定义被广泛接受。

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。 管理多个不同主题的数据(一个主题就可以理解成是一个mysql表中的一张表) 仓库:存储数据,不在乎数据是什么格式(为了能写SQL执行计算,最好都是普通的文本文件) 相对稳定:一般来说,往数据仓库hive中存储的数据,都是不会再去做修改的数据 支持管理决策:查询分析得到的结果具有很大的价值

数据仓库有两种类型:离线数仓(hive) 实时数仓

什么是Hive

The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.

Hive是什么:Apache Hive™数据仓库软件支持使用SQL读取、写入和管理分布存储中的大型数据集。 Hive怎么做的:结构可以映射到存储中的数据。 Hive怎么用:提供了一个命令行工具和JDBC驱动程序来将用户连接到Hive。

Hive官网:Apache Hive

Hive的概念

为了帮助清楚的知晓什么是Hive,我们总结了7句话,你理解这7句话,就能知道hive到底是什么玩意,是怎么工作的了。最最重要的7句话

1、Hive由Facebook实现并开源 2、Hive是基于Hadoop的一个数据仓库工具 3、Hive存储的数据其实底层存储在HDFS上 4、Hive将HDFS上的结构化的数据映射为一张数据库表,类似于Excel和mysql的表。 5、Hive提供HQL(Hive SQL)查询功能 6、Hive的本质是将SQL语句转换为MapReduce任务运行,使不熟悉MapReduce的用户很方便地利用HQL处理和计算HDFS上的结构化的数据,适用于离线的批量数据计算 7、Hive使用户可以极大简化分布式计算程序的编写,而将精力集中于业务逻辑 Hive依赖于HDFS存储数据,Hive将HQL转换成MapReduce执行,所以说Hive是基于Hadoop的一个数据仓库工具,实质就是一款基于HDFS的MapReduce计算框架,对存储在HDFS中的数据进行分析和管理。

为什么使用Hive

不用Hive而直接使用MapReduce的弊端:

人员学习成本太高 MapReduce开发效率低,项目周期要求太短不适用 MapReduce实现复杂查询逻辑开发难度太大

为什么要学习使用Hive:

更友好的接口:操作接口采用类SQL的语法,提供快速开发的能力 更低的学习成本:避免了写MapReduce,减少开发人员的学习成本 更好的扩展性:可自由扩展集群规模而无需重启服务,还支持用户自定义函数

Hive特点

优点:

1、可扩展性,横向扩展,Hive可以自由的扩展集群的规模,一般情况下不需要重启服务 横向扩展:通过分担压力的方式扩展集群的规模 纵向扩展: 一台服务器cpu i7-6700k 4核心8线程,8核心16线程,内存64G => 128G 2、延展性,Hive支持自定义函数,用户可以根据自己的需求来实现自己的函数 3、良好的容错性,可以保障即使有节点出现问题,SQL语句仍可完成执行

缺点:

1、Hive不支持记录级别的增删改操作,但是用户可以通过查询生成新表或者将查询结果导入到文件中。新版本支持insert语法。 2、Hive的查询延时很严重,因为MapReduce Job的启动过程消耗很长时间,所以不能用在交互查询系统中。 3、Hive不支持事务(因为没有增删改,所以主要用来做OLAP(联机分析处理),而不是OLTP(联机事务处理),这就是数据处理的两大级别)。

思考一个问题:Hive不支持删除和修改操作,请问为什么?是语法没法实现,还是没有必要?不支持delete和update

Hive和RDBMS区别

对比项

Hive

RDBMS

查询语言

HQL

SQL

数据存储

HDFS

Raw Device or Local FS

执行器

MapReduce

Executor

数据插入

支持批量导入/单条插入

支持单条或者批量导入

数据操作

覆盖追加

行级更新删除

处理数据规模

执行延迟

分区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值