hive01

1.hive是什么有什么用

什么是hive:Hive一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类似于SQL查询(HQL),本质是将Hive SQL转化成MapReduce程序.

2.hive工作原理

在hive中创建一张表,这张表要映射到hdfs中的数据(结构化的静态数据),形成映射关系;

表结构是根据要处理的数据来决定的,(描述表结构的信息,指定处理数据的位置)元数据,元数据存储在mysql中;

当在hive客户端中写sql语句时;

首先要加载mysql中的元数据;

然后解析sql语句,分析,优化,将其转换成MapReduce程序,从hdfs中读取数据来处理数据.

3.hive查看数据库的属性

(1)显示系统所有的数据库

show databases;

(2)创建数据库

create database db_name;

(3)如果数据库已经存在会报错

create database if not exists db_name;这样创建会避免报错

(4)创建数据库指定库的位置不指定在/user/hive/warehouse

关键字 location 指定表或者是数据库的位置(HDFS中)

create database if not exists abc location “/abc” ;

(5)显示所有的数据库(模糊查询)

show databases like “b*” ;

(6)显示数据库的详细信息

desc database abc;

desc database extended abc;

(7)切换数据库

use name;

查看当前正在被使用的数据库

(8)select current_database();

(9)删除数据库

drop database abc;

(10)修改数据库

alter database abc set dbproperties(“author”=“abc”);

(11)hive命令直接可以在本地启动一个客户端操作hive

(12)可以启动hiveserver2的服务 监听的10000端口

1)可以使用java程序连接(jdbc)

2)可以使用hive自带的beeline方式连接

(13)hiveserver2 前台启动

hiveserver2  & 后台启动 

netstat  -nltp | grep 10000 是否有端口占用

(14)beeline 输入此命令

!connect jdbc:hive2://linux01:10000

用户名 : root;密码:  回车

4.怎么建表

基本语法

create table if not exists tb_name(
列 数据类型,
列 数据类型,

)
row format delimited fields terminated by “分隔符
location “/ABC”;(数据在hdfs中的位置)

desc tb_name;显示表的信息

desc formatted tb_abc;显示表的详细信息

5.怎么导入数据

将数据导入到表所在的HDFS 的文件夹中 数据就直接加载

核心原理:select查询操作的数据就是表文件夹下的数据

1.默认的表目录2.location指定目录

(1)导入数据的方式一:直接将数据文件上传到对应的表的目录下
hdfs dfs -put abc.csv /tb_product

(2)导入数据的方式二:使用命令导入本地文件

load data local inpath “/hive/abc.csv” into table tb_abc;

底层就是将本地的文件上传到表所在的HDFS的目录下

(3)导入数据的方式三:使用命令导入HDFS文件到表中
load data inpath “/abc.csv” into table tb_abc;

底层将这个文件移动到对应的表的目录下

导入新的数据,覆盖原来的数据

overwrite

load data local inpath "/hive/abc.csv overwrite into table tb_abc;

(4)导入方式四:建表的时候指定表的位置 ----> 就是数据的位置

create table if not exists tb_ABC(
id int ,
name string ,
price double ,
cate string COMMENT ‘类别’,
pnum int ,
description string
)
row format delimited fields terminated by “,”
location “/ABC”;

6.什么是内部表,外部表, 以及他们的应用场景

内部表和外部表

内部表 管理表 默认的表类型

删除表的时候 存储数据的文件夹会被删除

外部表

删除表的时候 存储数据的文件夹不会被删除

内部表:业务表使内部表用

外部表:原始数据,公用的数据使用外部表

//默认的内部表,删除表会删除数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值