Hive
文章平均质量分 89
lishengping_max
专注大数据领域
展开
-
hive异常 return code X from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask 解决
转自:https://www.iteye.com/blog/vase-2090320不知道是不是hive-0.12版增强了local mode的原因,在之前版本运行好好的Hive-QL在这个版本上错误频频,折磨一天多以后终于定位到原因,把在内部的总结在这再记录下,希望对遇到同样问题的筒子们有所帮助。部分一 关于return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTaskHive升级到0.12版之后,若干原来在0.10上执行正常转载 2020-07-23 14:56:10 · 2119 阅读 · 0 评论 -
ive运行异常: ERROR | main | Hive Runtime Error: Map local work exhausted memory
问题描述hive执行sql包含join时候,提示异常: ERROR | main | Hive Runtime Error: Map local work exhausted memory分析過程1.异常日志下:2019-06-24 13:39:41,706 | ERROR | main | Hive Runtime Error: Map local work exhausted memory | org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask.e转载 2020-07-23 14:49:31 · 299 阅读 · 0 评论 -
Hive字段校验测试
一、HDFS文件中字段类型和表字段长度/类型不一致场景结论1.如果是varchar类型长度短与文件中字段长度,通过HQL查询时,会直接截断超过varchar类型长度的字符;2.如果表字段类型和HDFS文件中数据类型不匹配,则直接显示NULL二、通过HQL插入长度/类型不一致数据场景DROP TABLE tmp.test0713;CREATE TABLE `tmp.test0713`(`PK_ID` varchar(1) COMMENT '主键')ROW FORMAT DELIMITED F原创 2020-07-13 13:01:02 · 1020 阅读 · 0 评论 -
关于HIVE增量同步的思考
方案一、如果业务库没有删除操作,并且更新时间完整,使用更新时间做增量同步,sqoop只同步更新时间变化的数据,合并到ODS层表方案二、如果业务库有删除操作,可以先解析数据库操作日志,存到hdfs,T+1同步数据后,对增删改做一次merge操作即可,可能需要代码实现。...原创 2020-07-01 17:39:47 · 714 阅读 · 0 评论 -
关于hive中not in不支持子查询的解决方法
表信息:用户User表(userid,name)黑名单BanUser表(userid,name)问题:找出不在黑名单中的用户信息(userid,name)hive暂时不支持以下查询方式:select aa.* from user aa where aa.user not in (select a.userid from banuser a);方法一:使用not exists进行改写select aa.* from user aa where not exists (select转载 2020-06-17 16:13:00 · 1331 阅读 · 0 评论 -
Hive中使用 with as 优化SQL
背景:当我们书写一些结构相对复杂的SQL语句时,可能某个子查询在多个层级多个地方存在重复使用的情况,这个时候我们可以使用 with as 语句将其独立出来,极大提高SQL可读性,简化SQL~注:目前 oracle、sql server、hive等均支持 with as 用法,但 mysql并不支持!2019-05-31更新:MySQL8.0大量更新优化,支持Common table expressions,即支持 with 语法!一、介绍with as 也叫做子查询部分,首先定义一个sql片段,该转载 2020-06-17 16:10:22 · 285 阅读 · 0 评论 -
Hive Runtime Error: Map local work exhausted memory
问题描述hive执行sql包含join时候,提示异常: ERROR | main | Hive Runtime Error: Map local work exhausted memory分析過程1.异常日志下:2019-06-24 13:39:41,706 | ERROR | main | Hive Runtime Error: Map local work exhausted memory | org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask.e转载 2020-05-25 10:14:21 · 915 阅读 · 0 评论 -
cdh hive增加Update、Delete支持
一、配置hive-site.xmlCDH版本先进入Hive配置页,选择高级,如果使用的Hive Cli使用hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)如果使用的beeline ,使用hive-site.xml 的 Hive 服务高级配置代码段(安全阀)点击+号,增加如下配置项hive.support.concurrency = true hive.enfo...原创 2020-05-08 14:40:35 · 426 阅读 · 0 评论 -
cdh beeline配置hive-site.xml不生效解决记录
最近用beeline替代hive cli,发现之前在hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)的配置项,beeline居然不生效,如下图所示,而hive cli是生效的查看了执行机器上/etc/hive/conf/hive-site.xml文件,发现配置确实是修改了,一直以为是环境变量的原因,找了几个小时,网上也没相关解释,最后在hive-site.xml 的 H...原创 2020-05-08 14:28:20 · 1241 阅读 · 0 评论 -
如何获取Hive正在执行或已结束的SQL语句
本文主要介绍两种方式来获取Hive正在执行或者已结束的的MapReduce作业的SQL语句,一种是通过MapReduce API获取执行作业的xml配置文件,另一种是通过Cloudera Manager界面直接查看。一、通过YARN执行作业的xml配置文件1.通过Hue执行SQL查询,Job Browser页面可以获取该SQL执行的ApplicationID,如下:2.通过Applicat...转载 2020-04-15 14:31:29 · 4360 阅读 · 0 评论 -
解决hive表字段和comment不支持中文
hive元数据库执行以下sqlalter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;alter table COLUMNS_V2 modify column COLUMN_NAME varchar(128) character set utf8;alter table TABLE_PARAM...原创 2020-04-11 11:54:01 · 1040 阅读 · 0 评论 -
FAILED: ParseException line 1:0 character not supported here
将hive sql文件上传到linux,使用hive -f xxx.sql执行时报错如下:FAILED: ParseException line 1:0 character '' not supported here经过网上查询,错误原因如下:UTF-8 BOM文件开头会有U+FEFF字符,HIVE不识别,需要转换文件为UTF-8 无BOM文件UTF-8与UTF-8 BOM的区别B...原创 2020-03-27 17:59:24 · 2950 阅读 · 0 评论 -
Hive 子查询
1.FROM中的子查询SELECT ... FROM (subquery) name ...SELECT ... FROM (subquery) AS name ... (Note: Only valid starting with Hive 0.13.0)Hive仅在FROM子句中支持子查询(从Hive 0.12版本开始)。必须为子查询指定名称,因为FROM子句中的每个表都必须具有名...转载 2020-03-04 11:32:09 · 4323 阅读 · 0 评论 -
Hive本地模式
一、原理本地运行map-reduce作业。这对于在小型数据集上运行查询非常有用 - 在这种情况下,本地模式的执行通常比向大型集群提交作业要快得多。从HDFS透明地访问数据。相反,本地模式只能运行一个reducer,处理较大的数据集可能非常慢。二、配置1.完全本地模式 从0.7版本开始,Hive完全支持本地模式的执行。对于所有mapreduce任务都以本地模式运行,要启用此功能,用户可以启用以下原创 2017-06-09 15:45:13 · 3282 阅读 · 0 评论 -
Hive开发错误记录
一、启动Hive CLI警告:WARN [mian] conf.Configuration:file:/xxx/hive-site.xml : an attempt to override final parameter:fs.defaultFS; Ignoring; 修改了hive-site.xml,启动Hive CLI后,跑脚本发现配置没生效,后来看到警告,因为hadoop fs.def原创 2017-06-15 15:05:20 · 443 阅读 · 0 评论 -
hive分页查询
一、生成自增IDhttps://blog.csdn.net/wzy0623/article/details/53893174二、利用自增ID和limit分页假设分页传参:pageNum --页数pageSize --每页数量则perId=(pageNum-1)*pageSize+1分页sql为:select * from table where id >=perId ...原创 2019-03-06 14:28:49 · 5288 阅读 · 0 评论 -
cloudera mamager中配置hive加载第三方JAR
1.在运行 Hive Metastore Server、HiveServer2 或 Hive CLI 的主机上手动创建和管理/data/db/hive_udf本地目录,在目录中放置需要添加的jar2.按下图配置,然后重启Hive...原创 2019-03-29 17:00:53 · 494 阅读 · 0 评论 -
HIVE UDF永久生效方法
1、在linux用户的home目录下,创建 .hiverc ,默认当前用户下可以使用这个配置如路径 :/home/kwu2、在hive的配置文件目录下,创建 .hiverc ,默认所有用户都可以使用这个配置,更改hive配置会影响此文件,配置完后需要重启Hive路径 : /etc/hive/conf.hiverc 示例set hive.cli.print.current.db=true;...原创 2019-03-29 11:14:03 · 1993 阅读 · 0 评论 -
Hive Sql使用注意点记录
1.单独的 DISTINCT 关键字只能放在开头,放在其它位置会报错;但如果是配合其它的函数使用,比如 COUNT(DISTINCT a) 则可以任意位置2.想要在like方法中调用函数,要用concat拼接 like CONCAT('%',from_unixtime(unix_timestamp(),'yyyy-MM-dd'),'%')...原创 2019-06-25 15:25:54 · 111 阅读 · 0 评论 -
HIVE SQL时间函数使用
SELECT CURRENT_DATE;— 2019-06-25 SELECT CURRENT_TIMESTAMP;– 2019-06-25 15:33:25SELECT unix_timestamp()–1561447860SELECT from_unixtime(unix_timestamp(),'yyyy-MM-dd')– 2019-06-25SELECT from_...原创 2021-03-18 16:53:37 · 3094 阅读 · 0 评论 -
Hive基于ES的外部表使用
一、配置依赖jar1.临时生效启动HIVE CLI后,ADD JAR /path/elasticsearch-hadoop-xxx.jar;或bin/hive --auxpath=/path/elasticsearch-hadoop-xxx.jar或bin/hive -hiveconf hive.aux.jars.path=/path/elasticsearch-hadoop-xxx....原创 2019-07-01 15:48:10 · 3800 阅读 · 0 评论 -
Hive基于Hbase的外部表使用
官网:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration作用:Hive直接使用Hbase的数据,不过hbase一般不适合分析数据,一般使用外部表将hbase数据导入其它hive表,用于数据分析步骤一、下载依赖jar从https://mvnrepository.com/artifact/org.apache....原创 2019-09-04 15:52:38 · 792 阅读 · 0 评论 -
HIVE严格模式
一、启动nohup hive --service hiveserver2 --hiveconf hive.mapred.mode=strict & 二、作用严格模式,可以防止用户执行那些可能产生意想不到的不好的效果的查询。即某些查询在严格 模式下无法执行。通过设置hive.mapred.mode的值为strict,可以禁止已下三种类型的查询。三、禁止查询类型1)带有分区的表的查询原创 2017-06-09 15:33:43 · 549 阅读 · 0 评论