Hive
1.Hive基本概念
2.HIVE的安装部署与环境变量的配置
3.HIVE使用方式
4.Hive基本操作:理论知识与实际操作
5.hive表中加载数据方式:表数据的导入五种方式
6.hive表中的数据导出:表数据的导出7种方式
7.Hive自定义函数:UDF
weixin_43563705
将自己的所学到的知识分析给大家
展开
-
毫无破绽的:Access denied for user ‘root‘@‘%‘ (using password: YES)
絮叨两句:博主是一名数据分析实习生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战少年易老学难成,一寸光阴不可轻。最喜欢的一句话:今日事,今日毕遇到Access denied for user 'root'@'%' (using password: YES)这个问题差点没怀疑人生MySQL账号密码没问题也可以正常进入权限也没有问题HIve配置文件也没有问题启动Hivehive.原创 2020-10-19 10:21:12 · 4998 阅读 · 2 评论 -
伟大的Hive安装教程快来围观
絮叨两句:博主是一名数据分析实习生,利用博客记录自己所学的知识,也希望能帮助到正在学习的同学们人的一生中会遇到各种各样的困难和折磨,逃避是解决不了问题的,唯有以乐观的精神去迎接生活的挑战少年易老学难成,一寸光阴不可轻。最喜欢的一句话:今日事,今日毕Hive安装HIVE的安装部署Derby版Hive直接使用:使用Mysql共享Hive元数据添加Hive环境变量安装Mysql修改hive的配置文件修改hive-env.sh修改hive-site.xml上传Mysql的lib驱动包HIVE的安装部.原创 2020-10-19 02:00:49 · 686 阅读 · 1 评论 -
最详细解决Hive异常:Column length too big for column PARAM_VALUE
异常介绍用sqoop时出现中文乱码,就改了mysql的编码,顺便把hive关联的数据库删掉了,重新生成,之后出现MetaException(message:An exception was thrown while adding/validating class(es) : Column length too big for column ‘PARAM_VALUE’ (max = 21845); use BLOB or TEXT instead原因是编码问题,重新把hive与mysql的关联的数据库原创 2020-06-01 09:01:10 · 4430 阅读 · 8 评论 -
Hive总结面试题
1、什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL)2、Hive的意义(最初研发的原因)避免了去写MapReduce,提供快速开发的能力,减少开发人员的学习成本。3、Hive的内部组成模块,作用分别是什么1.元数据:Metastore元数据包括:表名、表所属的数据库(默认是default)、表的拥...原创 2019-12-02 08:07:27 · 7190 阅读 · 2 评论 -
Hive调优:表的优化
JoinJoin原则:1)小表Join大表,将key相对分散,并且数据量小的表放在join的左边,这样可以有效减少内存溢出错误发生的几率;再进一步,可以使用Group让小的维度表(1000条以下的记录条数)先进内存。在map端完成reduce。select count(distinct s_id) from score;select count(s_id) from score gr...原创 2019-11-28 17:05:45 · 5276 阅读 · 2 评论 -
Hive调优:并行执行_ 严格模式_ JVM重用_推测执行
并行执行Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。或者Hive执行过程中可能需要的其他阶段。默认情况下,Hive一次只会执行一个阶段。不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。不过,如果有更多的阶段可以并行...原创 2019-11-28 17:01:11 · 4546 阅读 · 2 评论 -
Hive调优:数据倾斜
Map数1)通常情况下,作业会通过input的目录产生一个或者多个map任务。主要的决定因素有:input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M,可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2)举例:a)一个大文件: 假设input目录下有1个文件a,大小为780M,那么hadoop会将该文件a分隔成7个块...原创 2019-11-28 16:21:13 · 4376 阅读 · 2 评论 -
Hive调优: Fetch抓取
Fetch抓取(Hive可以避免进行MapReduce)Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是mo...原创 2019-11-28 16:14:14 · 5364 阅读 · 2 评论 -
Hive的数据存储格式
Hive支持的存储数据的格式主要有:Hive支持的存储数据的格式主要有存储形式TEXTFILE行式存储SEQUENCEFILE行式存储ORC列式存储PARQUET列式存储列式存储和行式存储行存储的特点: 查询满足条件的一整行数据的时候,行存储只需要找到其中一个值,其余的值都在相邻地方。列存储则需要去每个聚集的字段找到对应的每个列的值,所以此...原创 2019-11-28 15:56:01 · 7933 阅读 · 4 评论 -
Hive的数据压缩:开启Map输出阶段压缩,开启Reduce输出阶段压缩
开启Map输出阶段压缩开启map输出阶段压缩可以减少job中map和Reduce task间数据传输量。具体配置如下:案例实操:1)开启hive中间传输数据压缩功能hive (default)>set hive.exec.compress.intermediate=true;2)开启mapreduce中map输出压缩功能hive (default)>set mapredu...原创 2019-11-28 15:37:36 · 4831 阅读 · 3 评论 -
Hive的数据压缩介绍
MR支持的压缩编码在实际工作当中,hive当中处理的数据,一般都需要经过压缩,前期我们在学习hadoop的时候,已经配置过hadoop的压缩,我们这里的hive也是一样的可以使用压缩来节省我们的MR处理的网络带宽压缩格式工具算法文件扩展名是否可切分DEFAULT无DEFAULT.deflate否GzipgzipDEFAULT.gz否bzip...原创 2019-11-28 15:32:41 · 4032 阅读 · 3 评论 -
Hive自定义函数:UDF
内置函数内容较多,见《Hive官方文档》https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF1)查看系统自带的函数hive> show functions;2)显示自带的函数的用法hive> desc function upper;3)详细显示自带的函数的用法hive> desc...原创 2019-11-26 17:28:40 · 4229 阅读 · 2 评论 -
Hive参数配置方式
Hive参数大全:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties开发Hive应用时,不可避免地需要设定Hive的参数。设定Hive的参数可以调优HQL代码的执行效率,或帮助定位问题。然而实践中经常遇到的一个问题是,为什么设定的参数没有起作用?这通常是错误的设定方式导致的。对于一般参数,有以下三...原创 2019-11-26 17:13:48 · 4867 阅读 · 2 评论 -
Hive分组 条件 分区排序 CLUSTER BY, Sort By,DISTRIBUTE BY
建表语句create table BD34 (id int,name string, score int,sex int,age int) row format delimited fields terminated by ‘,’;create table BD12 (id int,name string, score int,sex int,age int) row format del...原创 2019-11-26 17:04:07 · 6018 阅读 · 3 评论 -
Hive:JOIN语句与排序
等值JOINHive支持通常的SQL JOIN语句,但是只支持等值连接,不支持非等值连接。案例操作(1)查询分数对应的姓名SELECT s.s_id,s.s_score,stu.s_name,stu.s_birth FROM score s LEFT JOIN student stu ON s.s_id = stu.s_id;表的别名1)好处(1)使用别名可以简化查询。(2)...原创 2019-11-26 16:30:09 · 4297 阅读 · 1 评论 -
hive查询语法
SELECT需要准备的数据:创建分区表语法create table score(s_id string,c_id string, s_score int) partitioned by (month string) row format delimited fields terminated by '\t';加载数据到分区表中load data local inpath '/exp...原创 2019-11-26 16:20:11 · 4160 阅读 · 2 评论 -
hive表中的数据导出:表数据的导出7种方式
将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等insert导出1)将查询的结果导出到本地 :第一种insert overwrite local directory '/export/servers/exporthive/a' select * from score;2)将查询的结果格式化导出到本地 :第二种insert overwri...原创 2019-11-26 14:38:30 · 12677 阅读 · 2 评论 -
hive表中加载数据方式:表数据的导入五种方式
直接向分区表中插入数据create table score3 like score;insert into table score3 partition(month ='201807') values ('001','002','100');通过查询插入数据通过load方式加载数据load data local inpath '/export/servers/hivedatas/s...原创 2019-11-26 14:29:27 · 6947 阅读 · 2 评论 -
Hive基本操作:理论知识与实际操作
创建数据库与创建数据库表创建数据库操作create database if not exists myhive;use myhive;说明:hive的表存放位置模式是由hive-site.xml当中的一个属性指定的<name>hive.metastore.warehouse.dir</name><value>/user/hive/warehou...原创 2019-11-21 16:11:57 · 3761 阅读 · 1 评论 -
HIVE使用方式
使用方式共三种第一种交互方式:Hive交互shellcd /export/servers/hive-1.1.0-cdh5.14.0bin/hive//在设置hive全局环境变量之后可以在任何目录使用hive查看所有的数据库hive (default)> show databases;创建数据库hive (default)> create database myh...原创 2019-11-21 14:44:53 · 4338 阅读 · 2 评论 -
如何安装Hive?
HIVE的安装部署第一步:上传hive-1.1.0-cdh5.14.0.tar.gz第二步:进行解压cd /export/softwarestar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/安装方式mysql数据库的安装(使用yum源进行安装,强烈推荐)第一步:在线安装mysql相关的软件包yum install mys...原创 2019-11-19 20:37:38 · 5049 阅读 · 4 评论 -
Hive基本概念
Hive简介什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL)。其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为一个将SQL转换为MapReduce的任务的工具。Hive可以对数据进行存储与计算数据存储依赖于HDFS数据计算依赖于MapRedu...原创 2019-11-19 20:21:15 · 9288 阅读 · 2 评论