pig 使用tez引擎 OutOfMemoryError

tez版本:0.5.3

pig版本:0.14.0

解决办法:

将tez.task.scale.memory.reserve-fraction 设置的大点。如下:

set tez.task.scale.memory.reserve-fraction 0.7d ;

报错详情见下:

cause TezChild exit.:java.lang.OutOfMemoryError: Java heap space

at org.apache.tez.runtime.library.common.sort.impl.dflt.DefaultSorter.<init>(DefaultSorter.java:140)

at org.apache.tez.runtime.library.output.OrderedPartitionedKVOutput.start(OrderedPartitionedKVOutput.java:114)

at org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor.initializeOutputs(PigProcessor.java:299)

at org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor.run(PigProcessor.java:181)

at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:324)

at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:176)

at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:168)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAs(Subject.java:415)

at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1796)

at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:168)

at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.call(TezTaskRunner.java:163)

at java.util.concurrent.FutureTask.run(FutureTask.java:262)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

时间: 2024-10-23 18:09:54

pig 使用tez引擎 OutOfMemoryError的相关文章

Hive 使用Tez引擎的配置

前提 Hive  需要是 2.0以上版本 Tez配置 下载好tar包后,将tar包上传到HDFS集群路径下 hadoop fs -put /opt/software/apache-tez-0.9.1-bin.tar.gz/ /tez 将Linux本机上的tar包解压 Hive配置 在hive/conf下新建tez-site.xml文件,并添加以下参数 <?xml version="1.0" encoding="UTF-8"?> <?xml-styl

Apache Tez 了解

你可能听说过Apache Tez,它是一个针对Hadoop数据处理应用程序的新分布式执行框架.但是它到底是什么呢?它的工作原理是什么?哪些人应该使用它,为什么?如果你有这些疑问,那么可以看一下Bikas Saha和Arun Murthy提供的呈现"Apache Tez: 加速Hadoop查询处理",在这个呈现中他们讨论了Tez的设计,它的一些突出亮点,同时还分享了通过让Hive使用Tez而不是MapReduce而获得的一些初始成果. Tez是Apache最新的支持DAG作业的开源计算框

Pig系统分析(8)-Pig可扩展性

本文是Pig系统分析系列中的最后一篇了,主要讨论怎样扩展Pig功能.不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性. 补充说明:前些天同事发现twitter推动的Pig On Spark项目:Spork,准备研究下. UDFs 通过UDFs(用户自己定义函数),能够自己定义数据处理方法,扩展Pig功能.实际上,UDFS除了使用之前须要register/define外.和内置函数没什么不同. 主要的EvalFunc 以内置的ABS函数为例: public class AB

大数据Hadoop生态圈:Pig和Hive

前言 Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache的一个项目,由Apache来负责维护,Pig是一个基于 Hadoop的大规模数据分析平台. Pig为复杂的海量数据并行计算提供了一个简 易的操作和编程接口,这一点和FaceBook开源的Hive一样简洁,清晰,易上手! 一.Pig概述 Pig包括 两部分 1:用于描述数据流的语言,称为 Pig Latin (拉丁猪,个人翻译) 2:用于运行PigLatin程序的 执行环境 .一个是 本地 的单

大数据 hadoop ------ pig 、hive、Mahout、hbase

pig Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache的一个项目,由Apache来负责维护,Pig是一个基于 Hadoop的大规模数据分析平台. Pig为复杂的海量数据并行计算提供了一个简 易的操作和编程接口,这一点和FaceBook开源的Hive一样简洁,清晰,易上手! Pig包括 两部分 1:用于描述数据流的语言,称为 Pig Latin (拉丁猪,个人翻译) 2:用于运行PigLatin程序的 执行环境 .一个是 本地 的单JVM执行环境

Hive on Tez 出现的bug 及原因解析

现象描述 在使用Tez引擎查询时,发现一个bug: SELECT t1.*,t2.activity_id,t3.timeMap from (select * from ods_order_info where dt='2020-03-29') t1 --单独查询结果为7条 left join (select order_id,activity_id from ods_activity_order where dt='2020-03-29') t2 --t1 与t2 left join ,结果为7

Spark记录-Spark性能优化解决方案

Spark性能优化的10大问题及其解决方案 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism.通常,reduce数目设置为core数目的2到3倍.数量太大,造成很多小任务,增加启动任务的开销:数目太少,任务运行缓慢. 问题2:shuffle磁盘IO时间长解决方式:设置spark.local.dir为多个磁盘,并设置磁盘为IO速度快的磁盘,通过增加IO来优化shuffle性能: 问题3:map|red

阿里巴巴高级技术专家章剑锋:大数据发展的 8 个要点

笔者从 2008 年开始工作到现在也有 11 个年头了,一路走来都在和数据打交道,做过大数据底层框架内核的开发(Hadoop,Pig,Tez,Spark,Livy),也做过上层大数据应用开发(写 MapReduce Job 做 ETL ,用 Hive 做 Ad hocquery,用 Tableau 做数据可视化,用 R 做数据分析).今天我想借此机会和大家聊聊我所理解的大数据现状和未来. 首先让我们来聊聊什么是大数据.大数据这个概念已经出来很多年了(超过10年),但一直没有一个准确的定义(也许也

Hive SQL的编译过程

Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析.Hive的稳定性和性能对我们的数据分析非常关键. 在几次升级Hive的过程中,我们遇到了一些大大小小的问题.通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有了比较深入的理解.对这一过程的理解不仅帮助我们解决了一些Hive的bug,也有利于我们优化Hive SQL