RDBMS
Relation Database Management System,关系型数据库管理系统。
简称:数据库
OLTP: online transaction process.[
在线事物处理
]要求延迟很小 ,低延迟
a.原子性
c.一致性
i.隔离性
f.永久性
事物并发现象
- 脏读 //读未提交
- 不可重复读 //读不回去
- 幻读 //读多了
如何避免
- 设置事物的隔离级别
- 1.读未提交
- 2.读已提交 避免脏读
- 4.可以重复读 避免不可重复读
- 8.串行化 避免幻读
Hive
数据仓库软件。
OLAP: online analyze process.
在线分析处理
优点:读写管理存储天量数据,重在分析
缺点:延迟高,不具有事务性
简介:
- 使用SQL读写管理驻留在分布式存储系统大型数据集,可以使用命令行
和Driver连接到Hive。 - 运行在hadoop之上,用来汇集查询数据
- 使用SQL读写管理驻留在分布式存储系统大型数据集,可以使用命令行
Hive 不是
- 关系关系数据库
- OLTP[在线事物处理]
- 不适合实时查询和低层更新操作
特点
- 在数据库中存放schema,处理数据到HDFS
- OLAP[
在线分析处理
] - 提供类SQL语言,HQL(HiveQL)
- 可扩展、可伸缩、速度快。
Hive架构
* UI(web UI / CLI)
* MetaStore + HQL ProcessEngine
Execution Engine
MapReduce
* HDFS/HBase
Hive组件
* UI //
* MetaStore //schema table clumn 信息在RDBMS
* HQL Process Engine //编写SQL代替MR程序
* Excution Engine //处理查询,生成结果
* HDFS //存储数据
Hive安装
1. 下载 apache-hive-2.3.4-bin.tar.gz并tar开
2.安装jdk
略
3.安装hadoop
略
4.安装hive
$>cd ~/Desktop
$>tar -zxvf apache-xxx.x.gz
$>mv apache-hive-xx /soft
$>ln -s /soft/apache-hive-xx /soft/hive
$>sudo nano /etc/environment
HIVE_HOME=/soft/
5.查看Hive
$>hive --version
6.配置Hive
[${hive_home}/confhive-env.sh]
HADOOP_HOME=/soft/hadoop
7.配置Hive的元数据库
* hive使用RDBMS存储元数据,内置了derby数据库。
hive/conf/hive-default.xml.template //hive的默认配置,不要修改
* 创建hive-site.xml
[/soft/hive/conf/hive-site.xml]
$>cp hive-default.xml.template hive-site.xml
* 修改配置hive-site.xml
替换${system:java.io.tmpdir}=/home/ubuntu/bigdata/hive
替换${system:user.name}=ubuntu
使用Hive
1.初始化schema库
$>hive/bin/schematool -initSchema -dbType
2.完成后,在当前目录下创建一个文件夹metastore_db(数据库)
3.进入hive shell
$>hive
Hive常见命令
hive>show databases; //显示库
hive>show tables ; //显示表
1 | * 创建表 |
1 | 加载数据到hive(hdfs) |
- 准备员工表数据
1201 Gopal 45000 Technical manager
1202 Manisha 45000 Proof reader
1203 Masthanvali 40000 Technical writer
1204 Kiran 40000 Hr Admin
1205 Kranthi 30000 Op Admin
能否参与评论,且看个人手段。