hive学习笔记1

这篇博客主要介绍了Hive的基本操作,重点讲述了SQL基本语法,包括数据查询、插入、更新和删除等操作,是大数据处理中使用Hive的重要入门资料。
摘要由CSDN通过智能技术生成

1.hive的基本操作

hive的启动
		bin/hive  --启动为一个单机交互式程序
	

启动服务
	bin/hiveserver2
	然后服务
	bin/beeline -u jdbc:hive2://localhost:10000 -n root

sql基本语法

建库:create database mydb;   --会在/user/hive/warehouse/下建一个库文件夹 mydb.db
选择库:use mydb;
建表:
	--hive中的表有两种类型:Managed Table内部表 | external Table 外部表
		--内部表和外部表的区别
			1.1、内部表不需要指定数据存放目录,它默认在/user/hive/warehouse/db目录/表名目录
			1.2、而外部表的数据存放目录是可以任意指定的
			2.1、内部表被删除时,表定义和表数据全部都会被删除
			2.2、外部表被删除时,表定义会被删除,但是表数据依然保留(hdfs文件)
			

		--内部表建表示例:
		create table t1(id int,name string,salary float); --会在/user/hive/warehouse/mydb.db下建一个文件夹t1
		--建表示例:需求:建一个表,记录  学号,姓名,手机号,期末考试成绩,住址,性别
		create table stu(stuno int,name string,phone string,score float,address string,gender string); --默认认为文件中的字段分隔符为\001
		create table stu(stuno int,name string,phone string score float,address string,gender string) row format delimited fields terminated by ','   --将文件中的','作为字段分隔符

		--外部表建表示例:
		create external table teacher(id int,name string) row format delimited fields terminated by ','
		location '/abc/ddd/';


导入数据(文件中的分隔符和字段顺序,必须与表定义一致,否则会出现NULL等你不想要的结果):
	方式1:自己将数据文件,用hdfs dfs -put命令put到指定目录
	方式2:用hive的语句来导入
		--文件可以在hdfs上(本质将文件移动到指定目录)
		load data inpath 'hdfs路径' into table t1;
		--文件也可以在hive运行所在机器的本地(复制到hdfs路径下)
		load data local inpath '/root/wzk/' into table t1;


		![hive表元数据](https://img-blog.csdnimg.cn/0928714c2bf6429faa57be10c7533a32.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6aqR552A546L5YWr546v5ri45LiW55WM,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

		![hive字段元数据](https://img-blog.csdnimg.cn/ac76eaf7b3984ce1bae5bb946dbb7256.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6aqR552A546L5YWr546v5ri45LiW55WM,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)



删除表:
	drop table sut;

删除数据库:
	drop database mydb;  --删除没有表(空)的库
	drop database mydb cascade; --删除非空的库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值