0目录
1.linux 安装hive 2.hive入门 3.hive高级语法1 |
1.linux 安装hive
先确保linux虚拟机中已经安装jdk;mysql和hadoop 并可以成功启动hadoop和mysql |
下载hive对应版本到opt/install目录下并解压到opt/soft目录下 |
重命名 hive312 |
配置profile 文件,加入hive环境变量 vim /etc.profile 更新资源 source /etc/profile |
拷贝mysql connector 到cd/opt/soft/hive312/lib目录下 |
进入 cd/opt/soft/hive312/conf目录 新建vim ./hive-site.xml 编辑 |
cd /opt/soft/hadoop313目录下查找juava*开头的文件 |
cd /opt/soft/hive312/lib目录下删除 |
拷贝juava* (确保版本相同) cp /opt/soft/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar ./ |
初始化hive hive初始化 [root@kb129 hive312]# schematool -dbType mysql -initSchema |
输入hive命令 |
show databases; |
启动metastore和hiveserver2 |
与数据库建立连接 |
2.hive基本语法
查看数据库 |
选择数据库 |
创建表和添加数据 |
强制删除某个数据库 |
产看表信息 |
覆盖原有数据 |
重命名表名和添加和替换列名 |
创建内部表 |
指定上传路径(两种方式)location(hdfs路径) 和load data local inpath(虚拟机路径) |
分区表(手动分区,根据一个字段名) |
分区表(手动分区,根据多个字段名) ;添加和删除分区 |
动态分区 创建studenttp 导入数据 |
创建studenttp1 指定分区字段(age和gender) |
插入数据完成 |
创建外外部表 路径为hdfs路径 |
内部表和外部表区别 删除内部表时,表结构和文件同时被删除,外部表只删除表结构 |
练习(内部表,路径是虚拟机系统路径) |
外部表(路径是hdfs路径) 记得上传 cd/opt/kb23路径下 hdfs dfs -put ./employee.txt /user/hive/warehouse/kb23hivedb.db/stu/employeefile |
union拼接查询结果 |
写法2 |
将r1的结果作为r2查询的表(类似sqi子查询) |
子查询(先性别男然后名字will) 结果 |
3.hive高级查询1
删除、修改表 |
分桶表 |
创建分桶表 Hdfs查看 随机 |
创建视图 |
侧视图 |
CTE查询 |
关联查询 |
Union |
hive四大排序 |
补充in和exists exists的返回值是true和false |
wordCount案例 新建表结构和加载数据 |
Case when语句 |
列转行 |
练习 新建App表和userapp表 |