今天实训的第三天学习了在Hive中使用SQL来处理数据,数据仓库和数据库的区别,数据库创建和删除的语法,创建表的语法等等。
数据库是一种用来存储和管理数据的系统,可以帮助用户快速、方便地访问和处理数据。数据库通常包括表、字段和索引等组件,可以根据需要进行增删改查操作。数据库可以分为关系型数据库和非关系型数据库两种类型,常见的数据库软件有MySQL、Oracle、SQL Server等。数据库在各个领域广泛应用,如企业管理、金融、医疗等,是信息化时代不可或缺的重要工具。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。分析型处理(数据仓库),叫联机分析处理OLAP(On-Line Analytical Processing),也可以称为面向专业分析人员进行数据分析,通常进行查询分析操作,一般针对某些主题的历史数据进行分析,支持管理决策。
数据库和数据仓库主要区别如下:
数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储业务数据,数据仓库存储的一般是历史数据。数据库是为捕获数据而设计,数据仓库是为分析数据而设计数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,比如一张简单的User表,记录用户名、密码等简单数据即可,符合业务应用,但是不符合分析。数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计。
数据仓库架构可分为三层——源数据层、数据仓库层、数据应用层
数据仓库的分层结构
源数据层(ODS):此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。数据仓库层(DW):也称为细节层,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。数据应用层(DA或APP):前端应用直接读取的数据源;根据报表、专题分析需求而计算生成的数据。
数据库操作
create database if not exists myhive1;
use myhive1;
创建一个数据库
查看数据库详细信息
desc database myhive1;
创建数据库并指定hdfs存储位置
create database myhive2 location (地址)'/myhive2';
删除一个空数据库,如果数据库下面有数据表,那么就会报错。
drop database myhive1;
强制删除数据库,包含数据库下面的表一起删除。
drop database myhive2 cascade;