hive basic
hive
hao难懂
这个作者很懒,什么都没留下…
展开
-
01hive安装
1.传入下载“apache-hive-1.2.1-bin.tar.gz”和“mysql”传入虚拟机。2.解压、改名(可省)tar -zxvf apache-hive-1.2.1-bin.tar.gz -C app/mv apache-hive-1.2.1-bin/ hive/3.环境变量vi /etc/profile export HIVE_HOME=/root/app/hive...原创 2019-08-04 22:00:42 · 98 阅读 · 0 评论 -
13分桶以及抽样查询
一、分桶表数据存储 分区针对的是数据的存储路径;分桶针对的是数据文件 分区提供一个隔离数据和优化查询的便利方式。 分桶是将数据集分解成更容易管理的若干部分的另一个技术。1.先创建分桶表,通过直接导入数据文件的方式(1)创建分桶表 create table stu_buck(id int,name string) clustered by(id) into 4 buckets ...原创 2019-08-16 11:08:17 · 108 阅读 · 1 评论 -
14其他常用查询函数
一、空字段赋值1.函数说明 NVL :给值为NULL的数据赋值 格式:NVL(string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值2.实例 select nvl(name,-1) from emp; name为空使用-1代替 select nvl(name,id) from e...原创 2019-08-18 09:50:05 · 140 阅读 · 0 评论 -
15hive函数
一、系统内置函数1.查看系统自带的函数 show functions; 2.显示自带函数的用法 desc function upper; 3.详细显示自带函数的用法 desc function extended upper;二、自定义函数1.根据用户自定义函数类别分为以下三种: (1)UDF(User-Defined-Function) 一进一出 (2)UDAF...原创 2019-08-18 09:50:16 · 551 阅读 · 0 评论 -
16hive压缩以及配置
一、Hadoop源码编译支持snappy压缩(可省略查看)(可按照“17”中的“1.修改*”来配置,无需自己编译)1.资源准备(jar包) (1)hadoop-2.7.2-src.tar.gz (2)jdk-8u144-linux-x64.tar.gz (3)snappy-1.1.3.tar.gz (4)apache-maven-3.0.5-bin.tar.gz (5)protob...原创 2019-08-18 09:50:27 · 195 阅读 · 0 评论 -
17hive主流存储格式
三、文件存储格式1.列式存储和行式存储(1)列存储的特点: 因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量; 每个字段的数据类型一定是相同的,可以针对性的设计更好的压缩算法。(2)行存储的特点: 查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值, 行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询...原创 2019-08-18 09:50:38 · 3984 阅读 · 0 评论 -
18hive存储和压缩结合
五、存储和压缩结合1.修改Hadoop集群具有snappy压缩方式1.1 查看Hadoop checknative命令使用 hadoop checknative [-a|-h] check native hadoop and compression libraries availability 1.2 查看Hadoop支持的压缩方式 hadoop checknative 1....原创 2019-08-18 09:50:47 · 203 阅读 · 0 评论 -
19企业级调优1
一、Fetch抓取1.定义Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如select * from employees;在这种情况下,Hive可以简单地读 取employee对应的存储目录下的文件,然后输出查询结果到控制台。2.属性配置在hive-default.xml.template文件中hive.fetch.task.conversion...原创 2019-08-18 09:52:29 · 99 阅读 · 0 评论 -
20企业级调优2-表的优化
一、小表、大表join1.定义 将key相对分散,并且数据量小的表放在join的左边,这样可以有效减少内存溢出错误发生的几率; 再进一步,可以使用map join让小的维度表(1000条以下的记录条数)先进内存。在map端完成reduce。 实际测试发现:新版的hive已经对小表JOIN大表和大表JOIN小表进行了优化。小表放在左边和右边已经没有明显区别。2.实例 (1)需求 测...原创 2019-08-18 09:52:40 · 139 阅读 · 0 评论 -
21企业级调优3
四、数据倾斜1.合理设置map数量 并不是map数越多越好,若是逻辑比较复杂应增加map任务。2.小文件进行合并 设置可进行合并: set hive.input.format= org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; 3.复杂文件增加map数 实例: (1)执行查询 select count(*) fro...原创 2019-08-18 09:52:56 · 124 阅读 · 0 评论 -
12排序
1.全局排序(OrderBy) 全局排序,一个ReducerASC(ascend):升序(默认)DESC(descend):降序2.实例:查询员工信息按工资升序(or降序)排列 select * from emp order by sal; select * from emp order by sal desc;3.按照别名排序按照员工薪水的2倍排序select ename...原创 2019-08-16 11:05:35 · 172 阅读 · 0 评论 -
11分组和Join
一、分组–GroupBy1.GroupBy 语句定义 GROUP BY语句通常会和聚合函数一起使用,按照一个或者多个列 队结果进行分组,然后对每个组执行聚合操作。2.实例(1)计算emp表每个部门的平均工资 select t.deptno,avg(t.sal) avg_sal from emp t group by t.deptno; (2)计算emp每个部门中每个岗位的最高薪水...原创 2019-08-16 11:02:20 · 238 阅读 · 0 评论 -
10基本查询
零、写在前面% 代表零个或多个字符(任意个字符)。_ 代表一个字符。一、基本查询1.全表查询 select * from emp;2.特定列查询 select eid,ename from emp;3.注意SQL语言大小写不敏感;可以在一行中写多行;各自句一般分行写;关键字不能被缩写也不能分行;使用缩进提高语句的可读性。二、列别名 select ename AS n...原创 2019-08-16 10:58:11 · 203 阅读 · 0 评论 -
03hive命令
8.安装MySQL8.1.检查是否安装mysql服务: rpm -qa | grep -i mysql 若有则卸载:rpm -e --nodeps mysql-libs-5*8.2.解压传入的安装包: unzip mysql-libs.zip yum -y install unzip8.3.无法rpm安装mysql的服务端,网上解决方法: yum install -y per...原创 2019-08-04 22:08:22 · 129 阅读 · 0 评论 -
04hive常见属性设置
16.修改Hive数据仓库位置配置16.1.Default数据仓库的最原始位置是在hdfs上的:/user/hive/warehouse路径下。16.2.在仓库目录下,没有对默认的数据库default创建文件夹。如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹。16.3.修改default数据仓库原始位置(/root/app/hive/conf)(将hive-...原创 2019-08-04 22:17:47 · 246 阅读 · 0 评论 -
02mysql服务
8.安装MySQL8.1.检查是否安装mysql服务:rpm -qa | grep -i mysql 若有则卸载:rpm -e --nodeps mysql-libs-5*8.2.解压传入的安装包:unzip mysql-libs.zipyum -y install unzip8.3.无法rpm安装mysql的服务端,网上解决方法:yum install -y perl-Mod...原创 2019-08-04 22:23:36 · 160 阅读 · 1 评论 -
05hive数据类型
20.基本数据类型 Hive数据类型 Java数据类型 TINYINT byte SMALINT short INT int BIGINT long BOOLEAN boolean 布尔类型,true或者false FLOAT float 单精度浮点数 DOUBLE double 双精度浮点数 STRING strin...原创 2019-08-16 10:29:22 · 106 阅读 · 0 评论 -
hive的多种启动方式(直连,jdbc,脚本化)
第一种:1.开启hadoop集群 start-dfs.sh 2.开启hive功能 cd /root/app/hive bin/hive第二种:1.在node01中开启hiveserver2端 (老版本中有hiveserver1,新版本将其覆盖) cd /root/app/hive/bin ./hiveserver2 没有任何提示信息,光标一直在哪一行不动2.新开一个...原创 2019-08-16 10:32:24 · 397 阅读 · 0 评论 -
06hive数据库表
目录内容1~5关于数据库6~8关于表(内部表、外部表)9~10关于表(分区表)11分区表与数据关联1.创建数据库1.1(默认位置) create database hive_db; 在网页"node01:50070"中进入"/user/hive/warehouse/"可以看到建立的库1.2(指定位置) create database...原创 2019-08-16 10:40:17 · 97 阅读 · 0 评论 -
07分区表与数据产生关联的三种方式
== 11.分区表和数据产生关联的三种方式==11.1 方式一:上传数据后修复 ①创建目录 dfs -mkdir -p /user/hive/warehouse/student_name/month=202001/day=12; ②上传数据 dfs -put /root/hivedata/stu.txt /user/hive/warehouse/student_name/month=...原创 2019-08-16 10:45:53 · 324 阅读 · 0 评论 -
08hive数据导入
一.向表中装载数据(Load)1、语法 load data local inpath '/root/hivedata/stu.txt' [overwrite] into table student [partition(partcoll=vall,……)]; load data:表示加载数据 local:表示从本地加载数据到hive表,否则从HDFS加载数据到hive表...原创 2019-08-16 10:50:27 · 98 阅读 · 0 评论 -
09数据导出
一、Insert导出1.将查询结果导出到本地 insert overwrite local directory '/root/hivedata/export/student1' select * from student1;2.将查询的结果“格式化”导出到本地 insert overwrite local directory '/root/hivedata/export/studen...原创 2019-08-16 10:52:34 · 109 阅读 · 0 评论 -
hive的三种安装方式
一、内嵌模式说明:元数据保存在内嵌的derby中,允许有一个会话链接。修改配置: cp hive-env.sh.template hive-env.sh vim hive-env.sh HADOOP_HOME=/root/apps/hadoop启动hive: 在hive中创建一个表 create table newfack(name string,age int) ...原创 2019-09-02 19:59:29 · 5373 阅读 · 0 评论