Hive的起源
Hive起源于Facebook(美国的一个社交服务网络),因Facebook有着大量的数据需要处理,而Hadoop是一个开源可以轻松处理大量的数据项目。但是Hadoop的MapReduce程序对于Java程序员来说比较容易写,对于其他语言使用者来说不太方便,因此Facebook开始研发Hive,实现了对Hadoop使用类SQL的查询方式(实际后台转化为了MapReduce过程),让那些非Java程序员,只要熟悉sql语法也可以方便地使用Hadoop处理大量的数据,节约了学习成本。
Hive概述
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,它提供了一系列的工具,可以用来进行数据的提取、转化、加载,简称ETL(Extract Transform Load),也可以叫做数据清洗。是一种可以存储、查询和分析存储在Hadoop中的大规模数据机制,Hive定义了简单的类sql查询语言,称为HiveQL。Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。 Hive 的最佳使用场合是大数据集的离线批处理作业,例如,网络日志分析。
数据仓库的特征
1.数据仓库是多个异构数据源所集成的。
2.数据仓库储存的一般是历史数据,大多数的应用场景是读取数据(数据分析),所以数据仓库是弱事务的。
3.数据库是为捕获数据而设计,数据仓库是为了分析数据而设计。
4.数据仓库是时变的,数据存储从历史的角度提供信息,即数据仓库中的关键结构都隐式或者显示地包含时间元素。
5.数据仓库是弱事务的,因为数据仓库存的是历史数据,一般都是应用在数据读取(分析)场景。
数据仓库与数据库的区别:
数据库属于OLTP(Online Transaction Processing)联机事务处理系统,涵盖了企事业大部份的日常操作,如购物、库存、制造、银行、工资、注册、记账等等,比如Mysql oracle等关系型数据库。
数据仓库属于OLAP(on-Line Analytic Processing)联机分析处理系统,如Hive Hbase等。
OLTP是面向用户的,用于事务的处理以及客户的查询处理。OLAP是面向市场的,用于数据的分析。
OLAP通常会集成多个异构数据源的数据,数据量巨大。
OLTP系统的访问由于要保证原子性,所以有事务机制和恢复机制。
OLAP系统一般存储的是历史数据,所以大部分都 是只读操作,不需要事务。
OLTP系统与OLAP系统的比较
Hive的HQL
HQL语法十分类似SQL语法,是Hive用来进行分布式的计算语句,在执行的过程中底层会将HQL转换为MapReduce去执行,所以Hive其实是基于Hadoop的一种分布式计算框架,本质上是一种离线大数据分析工具。
Hive基础指令
show databases; 查看有哪些数据库。
create database hive; 创建hive数据库。创建的数据库实际是在Hadoop的HDFS文件系统里创建一个目录节点,统一存在: /user/hive/warehouse 目录下。
use hive; 进入hive数据库。
show tables; 查看当前数据库下所有的表。
create table user(id int,name string); 创建user表以及相关的两个字段。(在Hive里用的是string,不用char和varchar。此外,所创建的表,也是HDFS里的一个目录节点)
insert into user values(1,‘tom’); 向user表里面插入一条数据,(HDFS不支持数
Hive介绍及基本操作
最新推荐文章于 2025-05-19 02:03:23 发布