hive介绍、安装配置、表操作基础知识适合小白学习
1.hive概述
apache hive数据仓库软件有助于使用sql读取,编写和管理驻留
在分布式存储中的大型数据集。可以将结构投影到已存储的数据中。
提供了命令行工具和jdbc驱动以将用户连接到hive。
2.hive优缺点
优点:
(1)操作接口采用了sql,简化开发,减少学习成本。
(2)避免手写mapreduce程序
(3)hive执行延迟较高,使用场景大多用在实时性要求不强的情景
(4)优点在于处理大数据
(5)支持自定义函数
缺点:
(1)hive的sql表达能力有限(hsql)
(2)hive效率低 hive调优比较难
3.hive架构
提供了一系列的接口:hive shell、jdbc/odbc、webui
4.hive安装
(1)下载安装包 官网地址: hive.apache.org
(2)上传安装包到linux操作系统
alt+p(此处使用的securecrt)
(3)解压
tar -zxvf .tar -c /opt/moudle/
(4)修改配置文件
conf下的 hive-env.sh.temple重命名为hive-env.sh
修改内容:
hadoop_home=/opt/moudle/hadoop-2.8.4(修改成自己的hadoop安装目录)
export hive_conf_dir=/opt/moudle/hive/conf(修改成自己的hive的conf目录)
(5)启动hdfs和yarn集群
start-dfs.sh
start-yarn.sh
注意:hive是一种操作数据的软件,它本身不具备存储功能,它的存储依赖的是hdfs,因此启动hive必须启动hadoop。
(6)在hdfs上创建文件夹
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir -p /user/hive/warehouse/
(7)启动hive(切换到hive的安装目录下再输入以下命令)
bin/hive
5.hive测试
1)查看数据库
show databases;
2)使用数据库
use default;
3)查看表
show tables;
4)创建表
create table student(id int,name string);
5)插入数据
insert into student values(1,"lilei");
6)查询
select * from student;
7)删除表
drop table student;
8)退出终端
quit;
6.ddl数据定义
1)创建数据库
1.1)查看数据库
show databases;
1.2)创建数据库
create database db_hive;
1.3)创建数据库标准写法
create database if not exists db_hive;
1.4)创建数据库指定所在hdfs路径
create database hive_db1 location '/hive_db';
2)修改数据库
2.1)查看数据库结构
desc database hive_db;
2.2)添加描述信息
alter database hive_db set dbproperties('dataname'='animal');
2.3)查看拓展属性
desc database extended hive_db;
3)查询数据库
3.1)显示数据库
show databases;
3.2)筛选查询的数据库
show database like 'db*';
4)删除数据库
4.1)删除数据路
drop database hive_db;
4.2)删除数据的标准写法
drop database if exists hive_db;
5)创建表
5.1)创建表
create table student(id int,name string) row format delimited fields terminated by ’\t‘;
6)管理表
不擅长做数据共享,删除hive中管理表,数据删除。
6.1)加载数据
load data local inpath '/root/itstar.txt' into table student;
6.2)查询并保存到一张新的表
create table if not exists student1 as select * from student where name = 'lilei';
6.3)查询表结构
desc formatted emp;
查询结果:
table type: managed_table
7)外部表
hive不认为这张表拥有这份数据,删除该表,数据不删除。擅长做数据共享。
7.1)创建外部表
>create external table if not exists emptable(empno int,ename string)
> row format
> delimited fields
> terminated by '\t';
7.2)导入数据
load data local inpath '/root/emp.txt' into table emptable;
7.3)查看表的结构
desc formatted emptable;
查询结果:
table type: external_table
7.4)删除表
drop table emptable;
提示:再次创建相同的表 字段相同 将自动关联数据!
如果对你有帮助,欢迎转载!
上一篇: [iOS学习]之UISearchController简单使用
下一篇: hbase 预分区与自动分区