hive的内、外部表的区别

一、hive原理

hive是hadoop的数据仓库,是数据仓库的解决方案。
将结构化的数据映射一张数据库表,hive本身不存储数据,只处理数据。

hive的interface-命令行窗口

有两种工具:beeeline和hive命令行
有两种交互模式:命令行模式(使用较多)和交互模式
首先初始化元数据:
nohup hive --service metastore &;
hive的交互模式:hive 进入交互模式
beeline的交互模式:
输入:nohup hive --service hiveserver2 & 启动hiveserver2
在输入:beeline -u jdbc:hive2://localhost:10000 进入交互模式
hive 分层:21
ODS层:外表映射用户数据 原始数据层
DWD层:转化层 将外表转换成所需的表类型 同时分析 是个初转化层 函数 宏 视图 存储过程 数据清洗 数仓明细层
DWS层:对外业务的服务层 宽表 用户行为 轻度聚合(小宽表) 数仓服务层
ADS层:最终业务层 出报表 应用数据层
hive的数据结构
在这里插入图片描述
对数据库的基本操作:
创建数据库:
create database if not exists myhivebook;
使用某个数据库:
use myhivebook;
展示所有数据库:
show databases;
展示数据库的更多信息,如位置等
describe database default;
修改数据库的使用者:
alter database myhivebook set owner user dayongd;
删除数据库:
drop database if exists myhivebook cascade;

内部表(管理表):

hdfs中所属数据库目录下的子文件。
删除表时,数据也一起删除
创表语句:

create table if not exists A(
id string,
name string,
age string)
row format delimited
fields terminated by ','
stored as textfile;

创建内部表,此内部表会在数据的子目录下,有和表名相同的目录。
添加数据 :
load data [local] inpath ‘文件所处的路径’ into [overwriter] table A;
有local:从linux下拷贝数据,
无local:从hdfs上剪切数据到hive的指定位置下。
有overwrite:覆盖原有的数据
无overwrite:追加

外部表:

数据保存在指定位置的HDFS路径中
Hive不完全管理数据,删除表(元数据)不会删除数据
多用于ods层,

create external table if not exists A(
id string,
name string,
age string)
row format delimited
fields terminated by ','
stored as textfile
location '数据保存的指定路径'

上传数据到这个目录下:

load data [local] inpath '文件所处的路径' into [overwriter] table A;

或者
!hdfs dfs -put 源数据路径 hdfs文件路径(local下的路径)
此时数据可以自动映射为一张表
可以使用select * from A 查看这张映射的表。
临时表:
临时表是应用程序自动管理在复杂查询期间生成的中间数据的方法
表只对当前session有效,session退出后自动删除
表空间位于/tmp/hive-<user_name>(安全考虑)
如果创建的临时表表名已存在,实际用的是临时表

CREATE TEMPORARY TABLE tmp_table_name1 (c1 string);
CREATE TEMPORARY TABLE tmp_table_name2 AS..
CREATE TEMPORARY TABLE tmp_table_name3 LIKE..
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值