`

hive return code 2的问题

    博客分类:
  • hive
 
阅读更多

 

 

在执行脚本:

 

create table liuchengtmp1_%CHINDAASDATE% as
	select a.markcode, a.xiangmu, 
	case when instrfun(xiangmu,'已注册(') >0 THEN '已注册'
		 when instrfun(xiangmu,'初步审定(') >0 THEN '初步审定'
		 ELSE XIANGMU
	END XIANGMU_new
	from f_tm_process_hdfs_ext_%CHINDAASDATE%  a 
	join (

	select max(fliuc_id) fliucid1 from f_tm_process_hdfs_ext_%CHINDAASDATE% a join
  (select a.markcode,max(a.liuchengdate) maxliuchendate,max(a.fliuc_idt) maxfliucidt 
  from f_tm_process_hdfs_ext_%CHINDAASDATE% a join 
  (select
  markcode,
  max(liuchengdate) maxliuchendate
  from f_tm_process_hdfs_ext_%CHINDAASDATE% group by markcode) b
  on a.markcode = b.markcode and a.liuchengdate = b.maxliuchendate
  group by a.markcode) c
  on a.markcode = c.markcode and a.liuchengdate = c.maxliuchendate and a.fliuc_idt = c.maxfliucidt
  group by a.markcode;  )  e on (a.fliuc_id = e.fliucid1);
  

 

脚本分拆成12个mr任务,在执行到第5个mr任务的时候报错如下:



 

 

网上找了好多资料,有的说这不是个错,有的说是内存不够造成,看上面报错截图,内存使用一直在增加,

因此估计是内存不够了,

 

后来处理措施为,将上述语句拆分成2步来执行,中间有一次数据落地,这样防止将所有数据都放在内存中执行,如下:

drop table if exists liuchengtmp_%CHINDAASDATE%;  
create table liuchengtmp_%CHINDAASDATE% as
	select max(fliuc_id) fliucid1 from f_tm_process_hdfs_ext_%CHINDAASDATE% a join
  (select a.markcode,max(a.liuchengdate) maxliuchendate,max(a.fliuc_idt) maxfliucidt 
  from f_tm_process_hdfs_ext_%CHINDAASDATE% a join 
  (select
  markcode,
  max(liuchengdate) maxliuchendate
  from f_tm_process_hdfs_ext_%CHINDAASDATE% group by markcode) b
  on a.markcode = b.markcode and a.liuchengdate = b.maxliuchendate
  group by a.markcode) c
  on a.markcode = c.markcode and a.liuchengdate = c.maxliuchendate and a.fliuc_idt = c.maxfliucidt
  group by a.markcode; 
  


drop table if exists liuchengtmp1_%CHINDAASDATE%;	
create table liuchengtmp1_%CHINDAASDATE% as
	select a.markcode, a.xiangmu, 
	case when instrfun(xiangmu,'已注册(') >0 THEN '已注册'
		 when instrfun(xiangmu,'初步审定(') >0 THEN '初步审定'
		 ELSE XIANGMU
	END XIANGMU_new
	from f_tm_process_hdfs_ext_%CHINDAASDATE%  a 
	join liuchengtmp_%CHINDAASDATE% b 
	on (a.fliuc_id = b.fliucid1);

 

修改后,执行,不在报错

 

下面是参考链接,值得看看老外们的说法:

http://stackoverflow.com/questions/11185528/what-is-hive-return-code-2-from-org-apache-hadoop-hive-ql-exec-mapredtask/11248618

 

 

 

  • 大小: 890.9 KB
分享到:
评论

相关推荐

    【hive on spark Error】return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask.

    ERROR : FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. 前言报错信息异常分析配置改动后记 前言 在成功消除Cloudare管理界面上那些可恶的警告之后,我又对yarn...

    Hive2.x系列驱动,

    标题 "Hive2.x系列驱动" 指的是Hive版本2.x的客户端连接器,这些驱动程序使得应用程序能够与Hive服务器进行交互,执行SQL查询并获取数据。Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL语言处理存储在HDFS...

    Apache Hive Cookbook_Code 源码

    在《Apache Hive Cookbook》这本书中,作者深入浅出地介绍了如何利用Hive解决实际数据处理问题。源码部分是书籍内容的实践应用,可以帮助读者更好地理解和应用书中提到的技术点。 `Chapter 2`可能涵盖了Hive的基本...

    hive systemctl启停hiveserver2和metastore服务.pdf

    为了解决这个问题,我们可以创建自定义的Shell脚本以及使用systemd服务来实现一键启停Hive的相关服务。 首先,我们来看一下提供的Shell脚本。这个脚本定义了两个主要的功能:启动和停止Hive的Metastore服务和...

    Hive_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "", ""); Statement stmt = con.createStatement(); String tableName = "test_table"; String sql = "CREATE TABLE " ...

    hive1_2_1jars.zip

    标题“hive1_2_1jars.zip”指的是一个包含Hive 1.2.1版本相关库的压缩文件,这些库可能用于支持Spark 3.x版本与Hive的交互。在Spark 3中,如果你需要连接到Hive元存储进行数据操作,你需要正确配置Spark的`spark.sql...

    HIVE安装及详解

    "HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...

    cdh6.3.2升级hive至3.x后登陆HiveServer2连接失败.doc

    Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop105:10000: Failed to open new session: java.lang.IllegalArgumentException: Cannot modify hive.query.redaction.rules at runtime....

    SpringBoot整合hive-jdbc示例

    hive.jdbc.url=jdbc:hive2://localhost:10000/default hive.jdbc.driver=com.cloudera.hive.jdbc41.HS2Driver hive.jdbc.username=hive hive.jdbc.password=root ``` 其中,`url`指向Hive Server2的地址,`driver`...

    hive on tez 常见报错问题收集

    这个问题是由于Hive中的一个已知bug,具体问题可以在Apache JIRA的HIVE-16398中找到。为了解决这个问题,可以尝试增加`hive.localize.resource.num.wait.attempts`的属性值,将其从默认的5提升到如25这样的更高数值...

    Hive优化案例、Hive数据处理模式、Hive常见问题与优化、Hive实践

    2. 数据倾斜问题:Hive中数据倾斜问题是非常常见的,例如,一些节点上数据远远多于其他节点。解决方法是,使用数据 rebalance 技术,调整节点上的数据分布。 3. 资源不足问题:Hive中资源不足问题是非常常见的,例如...

    hive_jdbc_2.6.2.1002.zip

    Hive JDBC 2.6.2.1002 是一个关键组件,它在大数据处理领域扮演着重要的角色。Hive 是由 Apache 软件基金会开发的一个数据仓库工具,它允许用户使用类 SQL 查询语言(HQL)来处理存储在分布式文件系统中的大规模数据...

    Ambari下Hive3.0升级到Hive4.0

    2. **备份现有环境**:在进行任何重大更新之前,务必备份现有的 Hive 3.0 配置和数据。这可以通过 Ambari 的备份功能实现,也可以手动备份 HDFS 上的元数据和用户数据。 3. **下载并安装 Hive 4.0**:获取 Hive 4.0...

    hive开发中常遇到的坑

    1. **查找被锁定的任务**:可以通过查看Hive日志或使用Hive提供的工具来定位问题所在。 2. **终止锁定任务**:找到锁定任务后,使用`hive`命令行工具或其他管理工具终止该任务。 3. **重新执行受影响任务**:解锁后...

    hive

    2. **元数据管理**:Hive 有一个元数据存储库,保存着关于表、分区、字段等信息。这些元数据可以帮助 Hive 理解数据的结构,使得用户能够通过 SQL 方式进行查询。 3. **灵活性**:Hive 支持多种数据模型,包括行...

    Hive驱动1.1.0.zip

    2. **hive-jdbc.jar**:提供Hive的JDBC驱动,使你能通过JDBC接口连接到Hive服务器。 3. **libthrift.jar**:Thrift库,Hive使用的RPC框架,用于跨语言通信。 4. **hadoop-common.jar** 和 **hadoop-hdfs.jar**:...

    kettle批量插入hive2,解决表输出速度慢问题

    ### Kettle 批量插入Hive2:解决表输出速度慢问题 #### 一、问题背景及原因分析 在使用Kettle进行数据处理时,尤其是将数据从源系统传输到目标系统的过程中,如果目标系统是Hive2,则可能会遇到表输出速度极其缓慢...

    连接hive依赖的jar包_hive连接方式

    Hive可以通过Thrift协议暴露服务,通常使用HTTP或HTTPS作为传输层,因此连接字符串可能形如`jdbc:hive2://hostname:port/;transportMode=http;httpPath=hive.server2.thrift.http.path;principal=kerberos_principal...

    hive-server2.jar

    hive自定义安全认证使用

Global site tag (gtag.js) - Google Analytics