Apache Hive使用语法与概念原理
数据仓库和数据库
数仓和数据库的区别
数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别操作型处理(数据库),叫联机事务处理OLTP(On-Line Transaction Processing),也可以称面向用户交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常进行增删改查操作。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。
数据仓库主要特征:
面向主题的(Subject-Oriented)、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant)
数仓的分层架构
数据仓库架构可分为三层——源数据层、数据仓库层、数据应用层:
数据库操作
-
创建数据库并指定hdfs存储位置
create database myhive2 location '/myhive2';
使用location关键字,可以指定数据库在HDFS的存储路径。
-
删除一个空数据库,如果数据库下面有数据表,那么就会报错
drop database myhive;
-
强制删除数据库,包含数据库下面的表一起删除
drop database myhive2 cascade;
总结:
1.创建库的语法为
CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION position];
2.删除库的语法为
DROP DATABASE db_name [CASCADE];
3.数据库和HDFS的关系
•Hive的库在HDFS上就是一个以.db结尾的目录
•默认存储在:/user/hive/warehouse内
•可以通过LOCATION关键字在创建的时候指定存储目录