![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hive
天ヾ道℡酬勤
这个作者很懒,什么都没留下…
展开
-
使用Java连接Hive2
先在Linux中启动hiveserver2,进入beeline 新窗口打开:beeline -u jdbc:hive2://192.168.56.100:10000 -n root,IP是虚拟机里的URL。打开IDEA,首先还是导入依赖。<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <ver原创 2020-09-16 11:32:31 · 579 阅读 · 0 评论 -
Exception in thread “main“ java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/ShimLoader
解决sqoop导数据到hive中报错的问题:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/ShimLoader at org.apache.hadoop.hive.conf.HiveConf$ConfVars.<clinit>(HiveConf.java:370) at org.apache.hadoop.hive.conf.HiveConf.<cl原创 2020-09-03 18:04:19 · 1646 阅读 · 0 评论 -
Sqoop导数据到Hive中报错:java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf
在使用Sqoop把MySQL数据导入到Hive中的时候报了一个错:ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf at org.apache.sqoop.hive.HiveConfig.getHiveConf(HiveConfig.java:50) at org.a原创 2020-09-03 17:34:07 · 1473 阅读 · 0 评论 -
Hive执行复杂查询突然卡住不动解决办法
有时使用hive进行一般的查询操作时,执行的很快,但是一遇到多表复杂查询就会出一个问题,会发现程序一直卡着不动了,也不报错,开始以为是mapreduce计算的慢,所以程序执行有点卡断,可是过了好一会还是卡着不动,这就有点无语了,最后没办法只有强制kill.查看日志没有报错.查看mr状态发现一直在ACCEPTED状态.说明mr有问题,执行mr job ,果然卡死.查询得知是因为yarn的物理内存过少,建议配置为自己的电脑运行内存大小或二倍运行内存大小.这时时候就要到hadoop的安装目录下的/etc原创 2020-09-02 19:35:32 · 7217 阅读 · 0 评论 -
全面总结Hive性能优化(二)
上一篇已经从各方面总结了Hive的优化,按很多时候要解决数据倾斜才是优化的关键。在MapReduce程序中,大量的相同key被partition分配到一个分区里,使这个节点承受着巨大的压力,而其他节点计算完毕后要一直等待这个忙碌的节点,这样一来也拖累了整体的计算时间,使数据的生产效率十分低下,总而言之这都是数据倾斜造成的。造成数据倾斜的原因有很多,这里总结下以下几点原因:key分布不均匀业务数据本身的特性建表时考虑不周某些SQL语句本身就有数据倾斜数据倾斜一般可以分为三种:Mapper原创 2020-07-19 22:21:14 · 792 阅读 · 0 评论 -
全面总结Hive性能优化(一)
对于hive来说,相信大家都明白,Hive是基于Hadoop的一个数据仓库工具;它是MapReduce的一个封装,底层就是MapReduce程序;Hive可以将结构化的数据文件(按照各字段分类的数据)映射成一张虚表,并提供类SQL查询功能。由于Hive的执行依赖于底层的MapReduce作业,因此对Hadoop作业的优化或者对MapReduce作业的调整是提高Hive性能的基础。所以我们可以通过一系列的调优方法来使其提高效率。为什么Hive运行性能低下?简单来说hive用查询语句查询数据时,会花原创 2020-07-19 01:42:44 · 1680 阅读 · 0 评论 -
Hive安装教程与配置详情,以及Zookeeper安装
Hive 1.1.0版本安装教程hive是一个基于HDFS的MapReduce框架,将HQL转化成MapReduce执行,所以使用hive的前提是已经安装了Hadoop。1.老套路,首先解压 还是以Cloudera发行版:CDH安装为例。tar -zxf hive-1.1.0-cdh5.14.2.tar.gz2.解压完后放到指定文件夹下并简写解压后的文件名称mv hive-1.1.0-cdh5.14.2 /opt/soft/hive1103.到conf下修改配置文件cd /opt/soft/h原创 2020-06-16 20:23:35 · 1572 阅读 · 0 评论 -
AccessControlException(Permission denied:user=hive,access=EXECUTE,inode=/tmp:root:supergroup:drwx)
hive中使用聚合函数查询时,报错出现权限不够的问题这时需要改tmp的读、写、执行权限hdfs dfs -chmod -R 777 /tmp在hadoop下的hdfs-site.xml添加配置取消权限< property>< name>dfs.permissions< value>false</ property>在重启服务就好了!如果是用Zeepelin来操作的话,是因为把default.user改成了hive,导致权限不够,只需要把hi原创 2020-06-16 10:56:17 · 3173 阅读 · 0 评论 -
Hive(四)窗口函数应用大全
什么是窗口函数?在sql中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的.但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数.作用窗口函数是一组特殊函数■扫描多个输入行来计算每个输出值,为每行数据生成一行结果■可以通过窗口函数来实现复杂的计算和聚合hive中的窗口函数和sql中的窗口函数相类似,都是用来做一些数据分析类的工作,一般用于olap分析(在线分析处理原创 2020-06-16 07:23:58 · 1033 阅读 · 0 评论 -
Hive建表(三)侧视图(Lateral View)
视图概述1.通过隐藏子查询、连接和函数来简化查询的逻辑结构2.产生虚拟表,从真实表中选取数据3.只保存定义,不存储数据4.如果删除或更改基础表,则查询视图将失败5.视图是只读的,不能插入或装载数据应用场景1.将特定的列提供给用户,保护数据隐私2.查询语句复杂的场景侧视图与用户定义的表生成函数(如explode())关联使用。如表生成函数所述,UDTF为每个输入行生成零个或多个输入行。侧视图首先将UDTF应用于基表的每一行,然后将它们的结果输出行连接到输入行,以形成拥有提供表别名的虚拟表。原创 2020-06-12 02:46:10 · 2879 阅读 · 0 评论 -
Hive建表(二) 分区,分桶,动态分区数量不够怎么办?
分区(partition)分区主要用于提高性能,一张表在重新划分区域形成新的文件夹(如性比分成男和女),查找的时候根据性别的男和女,就可以先过滤掉不用的数据,从而不用再从开始一个个去查,从而提高查询性能;分区又分为静态分区和动态分区静态分区:静态分区就是自己手动创建分区目录,插入的时候必须首先要知道有什么分区类型,而且每个分区都要写一个load data加载本地文件,所以当我们在插入数据的时候指定分区,其实就是新建一个目录或者子目录,或者在原有的目录上添加数据文件。静态分区的列是在编译时期,通过用户原创 2020-06-11 20:09:21 · 1114 阅读 · 0 评论