草庐IT

java - 如何在不使用 OOzie 的情况下创建 Hadoop 作业链

我想创建一个由三个Hadoop作业组成的链,其中一个作业的输出作为输入提供给第二个作业,依此类推。我想在不使用Oozie的情况下执行此操作。我已经编写了以下代码来实现它:-publicclassTfIdf{publicstaticvoidmain(Stringargs[])throwsIOException,InterruptedException,ClassNotFoundException{TfIdftfIdf=newTfIdf();tfIdf.runWordCount();tfIdf.runDocWordCount();tfIdf.TFIDFComputation();}publ

java - hadoop job -kill <ID> 无法杀死

我使用的是1.0.4版。有些工作一直挂起,所以我一直试图杀死这些工作以释放源...但是,killing命令似乎不起作用...这是我正在做的:hadoopjob-listJobIdStateStartTimeUserNamePrioritySchedulingInfojob_111473112865969xyzNORMALNAhadoopjob-killjob_1Killedjobjob_2在此之后,我再次运行list命令,被杀死的作业仍然存在:hadoopjob-listJobIdStateStartTimeUserNamePrioritySchedulingInfojob_11147

hadoop - Apache kylin cube 失败 "no counters for job"

使用kylin1.5.4,当我构建立方体时,它在第3步失败,日志显示“没有工作计数器”。它也没有获取配置单元表的基数。当我创建一个模型或多维数据集时,它会抛出无法采取行动的错误,但是当我关闭json页面时,它们就会被创建。它不获取日期分区列,抛出在日志中找不到的列。非常感谢任何帮助或见解。 最佳答案 这有点晚了,但我在当前项目中也遇到了这个问题,我得到了“没有工作计数器”错误。问题是我们在Hive中使用ORC表。我们只是将数据从ORC表移至新的TEXTFILE表,并使用新表在Kylin多维数据集中设置所有内容,一切正常。

java - 在 java 代码中设置 job.properties 文件以启动 oozie 操作

我正在尝试使用Java代码启动oozie操作。使用命令行时,我们通过“-configjob.properties”指定属性文件,它知道选择哪个工作流程。我们如何在java代码中定义“job.properties”文件来完成相同的任务?conf.setProperty(OozieClient.APP_PATH,"hdfs://clusterdb05.com:8020/user/apps/merge-logs/workflow.xml");conf.setProperty("jobTracker","jobtracker.com:8021");conf.setProperty("nameN

java - Hadoop Job 在最后几个百分比时真的很慢吗?

我一直在Hadoop集群版本0.20.2上运行作业,直到最近一切都正常,没有任何原因,也没有任何错误,maptask的最后几个百分比比作业的其余部分花费的时间长得多,其中最后2%需要30秒,其余工作不到30秒。无论输入大小如何,现在所有作业都会发生这种情况这是一个输入数据为4GB的示例,在此问题之前整个作业从提交到完成需要37秒,但现在需要一分钟多:14/08/0120:57:12INFOinput.FileInputFormat:Totalinputpathstoprocess:114/08/0120:57:12INFOmapred.JobClient:Runningjob:job_

hadoop - 避免 "The number of tasks for this job 100325 exceeds the configured limit"错误

我有一个每周在生产集群上运行的Pig脚本。在上次运行中我得到了以下错误org.apache.pig.backend.executionengine.ExecException:ERROR6017:Jobfailed!Error-Jobinitializationfailed:java.io.IOException:Thenumberoftasksforthisjob100325exceedstheconfiguredlimit100000atorg.apache.hadoop.mapred.JobInProgress.initTasks(JobInProgress.java:719)a

hadoop - Hive 不尊重 mapreduce.job.reduces

以下形式的配置单元插入语句:insertintomy_tableselect*frommy_other_table;正在使用一个reducer-即使在执行以下操作之前:setmapreduce.job.reduces=80;有没有办法强制配置单元使用更多的reducer?没有明确的理由说明为什么这个特定的查询会执行单个reducer-假设末尾没有ORDERBY子句。顺便说一句,源表和目标表都是storedasparquet 最佳答案 SELECT*FROMtable;在Hive中不使用任何reducer-它是一个map-only作业

hadoop - AvroMultipleOutputs 创建空文件,日志中没有错误

尝试将输出写入两个不同的命名输出文件AvroMultipleOutputs但得到一个空文件并且日志中没有错误。计数器显示正确的记录数。还有这个写入单个文件时工作正常。Avro版本1.7.1代码Jobjob=newJob(config,"AVRO_MULTITEST");job.setJarByClass(AvroMultiWriter.class);FileInputFormat.setInputPaths(job,newPath(args[0]));FileOutputFormat.setOutputPath(job,newPath(args[1]));job.setInputFor

java - getstrings方法hadoop中的空指针异常

在Driver类conf.getstrings()方法中获取Null指针异常。这个驱动程序类是从我的自定义网站调用的。下面是Driver类的详细信息@SuppressWarnings("unchecked")publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Configurationconf=newConfiguration();//conf.set("fs.default.name","hdfs://localhost:543

java - MapReduce Avro 输出正在创建文本文件

我有一个读取avro数据然后应该输出avro数据的MapReduce作业。但是,当我在作业成功时检查输出文件时,它们没有.avro扩展名,我可以使用简单的文本编辑器查看它们。我的驱动程序配置为输出avro,所以我不确定问题出在哪里,我们将不胜感激。这是我的驱动类:publicclassDriverextendsConfiguredimplementsTool{publicstaticvoidmain(String[]args)throwsException{intres=ToolRunner.run(newConfiguration(),newDriver(),args);System