草庐IT

task-execution-settings

全部标签

hadoop - 如何在 hadoop 流中跳过失败的 map task

我正在运行一个hadoop流式mapreduce作业,它总共有26895个映射任务。但是,处理特定输入的任务总是失败。所以我设置了mapreduce.map.failures.maxpercent=1,想跳过失败的任务,但是作业还是没有成功。Kind%CompleteNumTasksPendingRunningCompleteKilledFailed/KilledTaskAttemptsmap100.00%26895002689418/44reduce100.00%100010/1我怎样才能跳过这个? 最佳答案 同样有一个配置可用。

java - 使用 java 使用语句类的单个 execute() 方法执行多个配置单元查询

我正在使用JavaAPI访问HiveServer2,我需要在单次调用语句类的execute()方法时执行多个配置单元查询。是否可以在对execute()方法的一次调用中提交多个配置单元查询。我有配置单元属性设置为:SEThive.exec.max.created.files=200000;SEThive.exec.compress.output=true;SETmapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;SEThive.exec.dynamic.partition=true;SETh

hadoop - 有没有办法让 "set"Hadoop Counter 而不是增加它?

API仅提供增加Mapper或Reducer中计数器的方法。有没有办法设置它?或者不管映射器和缩减器运行的次数如何,只增加它的值一次。 最佳答案 你想达到什么目的?这本身就很棘手,因为如果多个映射器试图设置计数器怎么办?谁应该赢?计数器通常只递增的原因是架构可以非常、非常快速和高效地完成此操作。 关于hadoop-有没有办法让"set"HadoopCounter而不是增加它?,我们在StackOverflow上找到一个类似的问题: https://stacko

java - Hadoop:你能默默丢弃一个失败的 map task 吗?

我正在使用hadoopMapReduce处理大量数据。问题是,损坏的文件偶尔会导致Map任务抛出Java堆空间错误或类似的错误。如果可能的话,最好丢弃maptask正在做的任何事情,杀死它,然后继续工作,不要在意丢失的数据。我不希望整个M/R工作因此而失败。这在hadoop中可行吗?如何实现? 最佳答案 您可以修改mapreduce.max.map.failures.percent参数。默认值为0。增加此参数将允许一定比例的map任务失败而不会使作业失败。您可以在mapred-site.xml中设置此参数(将应用于所有作业),或逐个

hadoop - 找不到 hadoop 安装 : $HADOOP_HOME must be set or hadoop must be in the path

所以有点背景。我一直在尝试在CentOS6机器上设置Hive。我按照这个Youtube视频的说明操作:http://www.youtube.com/watch?v=L2lSrHsRpOI就我而言,我使用的是Hadoop-1.1.2和Hive0.9.0,本视频中所有标有“mnt”的目录我都将其替换为“opt”,因为这是我所有的hadoop和hive包的位置被打开了。当我到达视频中实际上应该通过“./hive”运行Hive的部分时弹出此错误:"Cannotfindhadoopinstallation:$HADOOP_HOMEmustbesetorhadoopmustbeinthepath"

hadoop - 配置单元 : How to execute a query from a file and dump the output in hdfs

我可以从sql文件执行查询并将输出存储在本地文件中使用hive-f/home/Prashasti/test.sql>/home/Prashasti/output.csv此外,我可以使用以下方法将配置单元查询的输出存储在hdfs中:insertoverwritedirectory'user/output'select*fromfolders;有什么方法可以从sql文件运行查询并将输出也存储在hdfs中吗? 最佳答案 只需要修改sql文件,将insertoverwritedirectory'user/output'添加到查询的前面。

hadoop - 本地主机 : ERROR: Cannot set priority of datanode process 32156

我正在尝试在ubuntu16.04上安装hadoop但是在启动hadoop时它会给我以下错误localhost:ERROR:Cannotsetpriorityofdatanodeprocess32156.Startingsecondarynamenodes[it-OptiPlex-3020]2017-09-1821:13:48,343WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicableStartingresou

java - 所有 map task 的 Hadoop 缓存文件

我的map函数必须为每个输入读取一个文件。那个文件根本没有改变,它只是为了阅读。我认为分布式缓存可能对我有很大帮助,但我找不到使用它的方法。我认为我需要覆盖的publicvoidconfigure(JobConfconf)函数已被弃用。好吧,JobConf肯定被弃用了。所有DistributedCache教程都使用已弃用的方式。我能做什么?我可以覆盖另一个配置功能吗?这些是我的map函数的第一行:Configurationconf=newConfiguration();//loadtheMFileFileSystemfs=FileSystem.get(conf);PathinFile=

Hadoop - 在xml中增加 map task 不会在运行时增加 map task

我在conf/mapred-site.xml中添加了以下内容mapred.tasktracker.map.tasks.maximum4mapred.tasktracker.reduce.tasks.maximum1但是当我运行该作业时,它仍然运行2个map(这是默认的)?我怎样才能强制这个数字增加?附言我正在使用Ubuntu四核box谢谢 最佳答案 您是否正在处理少量数据?可能是您的MapReduce作业仅在一个输入拆分上运行,因此不需要更多映射器。尝试在数百MB的数据上运行您的作业,看看您是否仍然遇到同样的问题。单个节点上能够运行

hadoop - 配置单元:使用带分隔符的 collect_set

我正在尝试在配置单元查询中使用collect_set按条件对组中的列进行分组。每行都有空格作为分隔符,而不是“,”之类的。在这种情况下如何将分隔符更改为“,”或任何其他分隔符?提前致谢。问候,娜迦本普拉拉 最佳答案 COLLECT_SET返回一个数组,然后您可以使用CONCAT_WS将条目连接成单个逗号分隔值:selectserial_num,concat_ws(",",collect_set(customer_lastName))asconcatenate_lastNamesfromExternal_Tablegroupbyser