Tag: hadoop streaming

如何阅读hadoop顺序文件?

我有一个顺序文件,它是hadoop map-reduce作业的输出。 在此文件中,数据以键值对forms写入,值本身是映射。 我想将值作为MAP对象读取,以便我可以进一步处理它。 Configuration config = new Configuration(); Path path = new Path(“D:\\OSP\\sample_data\\data\\part-00000”); SequenceFile.Reader reader = new SequenceFile.Reader(FileSystem.get(config), path, config); WritableComparable key = (WritableComparable) reader.getKeyClass().newInstance(); Writable value = (Writable) reader.getValueClass().newInstance(); long position = reader.getPosition(); while(reader.next(key,value)) { System.out.println(“Key is: “+textKey +” value is: “+val+”\n”); } 程序输出:键是:[这是关键]值是:{abc = 839177,xyz = 548498,lmn = 2,pqr = 1} 在这里我获得了作为字符串的价值,但我希望它作为地图的对象。

即使Hadoop正在运行,Hadoop也没有在作业跟踪器中显示我的工作

问题:当我向hadoop 2.2.0群集提交作业时,它不会显示在作业跟踪器中, 但作业成功完成。 通过这个我可以看到输出,它正确运行并在运行时打印输出。 我尝试了多种选择,但是求职者没有看到这份工作。 如果我使用2.2.0 hadoop运行流媒体作业,它会显示在任务跟踪器中,但是当我通过hadoop-client api提交它时,它不会显示在作业跟踪器中。 我正在查看端口8088上的ui接口以validation该作业 环境 OSX Mavericks,Java 1.6,Hadoop 2.2.0单节点集群,Tomcat 7.0.47 码 try { configuration.set(“fs.defaultFS”, “hdfs://127.0.0.1:9000”); configuration.set(“mapred.jobtracker.address”, “localhost:9001”); Job job = createJob(configuration); job.waitForCompletion(true); } catch (Exception e) { logger.log(Level.SEVERE, “Unable to execute job”, e); } return null; 等/ hadoop的/ mapred-site.xml中 mapreduce.framework.name yarn mapred.job.tracker localhost:9001 等/ hadoop的/芯-site.xml中 hadoop.tmp.dir /tmp/hadoop-${user.name} A base for […]