Nutch如何读取CrawlDb中的<Text,CrawlDatum>键值对
来源:互联网 发布:淘宝网死飞自行车 编辑:程序博客网 时间:2024/05/24 04:40
想要查看CrawlDb中的键值对<Text,CrawlDatum>,于是今天修改了nutch中的CrawlDbReader类,对源码进行了稍微的修改,提交了一个job,然后在添加的MapperClass类中,将CrawlDb中的键值对打印出来进行查看分析,代码如下:
(1)添加的MapperClass类,代码如下:
public static class CrawlDbShowMapper implements Mapper<Text, CrawlDatum, Text, LongWritable> { LongWritable COUNT_1 = new LongWritable(1); private boolean sort = false; public void configure(JobConf job) { sort = job.getBoolean("db.reader.stats.sort", false ); } public void close() {} public void map(Text key, CrawlDatum value, OutputCollector<Text, LongWritable> output, Reporter reporter) throws IOException { System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); System.out.println("key="+key.toString()); System.out.println("CrawlDatum="+value.getFetchTime()); System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); } }
代码很简单,就是将map()函数获得的键值对打印出来。
(2)提交job的函数showCrawlDb(),代码如下:
public void showCrawlDb(String crawlDb,String output,Configuration config) throws IOException{ Path tmpFolder = new Path(output,""+System.currentTimeMillis()); JobConf job = new NutchJob(config); job.setJobName("show " + crawlDb); FileInputFormat.addInputPath(job, new Path(crawlDb, CrawlDb.CURRENT_NAME)); job.setInputFormat(SequenceFileInputFormat.class); job.setMapperClass(CrawlDbShowMapper.class); FileOutputFormat.setOutputPath(job, tmpFolder);// job.setOutputFormat(SequenceFileOutputFormat.class);// job.setOutputKeyClass(Text.class);// job.setOutputValueClass(LongWritable.class); JobClient.runJob(job); }
解释:代码很简单,就是将CrawlDb的路径作为InputPath输入,将CrawlDbShowMapper作为MapperClass类,然后提交job,系统就会自动运行,输出CrawlDb中的兼职对,调用该函数有三个参数,crawlDb为CrawlDb的路径;output为结果输出的路径,因为MapperClass没有OutputCollector收集结果,所以该参数实际没有用到;最后一个配置信息类Configuration实际为NutchConfiguration实例,可以通过代码Configuration conf = NutchConfiguration.create()得到。
- Nutch如何读取CrawlDb中的<Text,CrawlDatum>键值对
- nutch如何对种子链接输入产生键值对的?
- nutch下的CrawlDatum作用
- Nutch中关于CrawlDb过程
- 通过FileInputStream读取build.prop中的键值对
- Nutch 1.3 学习笔记 7 CrawlDb - updatedb
- Nutch 1.3 源码分析 7 CrawlDb - updatedb
- Nutch 1.3 学习笔记 7 CrawlDb - updatedb
- Nutch 1.3 学习笔记 7 CrawlDb - updatedb
- nutch源码crawldb类源代码分析
- android中的键值对
- 如何获取properties后缀配置文件中的键值对
- java读取配置文件中的键值
- linux c去除空格 和读取配置文件中的键值对中的值
- nutch中调用CrawlDatum的set()函数的地方
- Nutch中CrawlDatum的FetchTime的设置了解
- java中的键值对和 C#中的键值对
- 解析URL中的键值对
- Apache 2.2-SSL操作大全
- 内存动态分析工具Valgrind初探
- oracle 一行列转换问题
- MVC设计模式概览
- android usb挂载分析----vold启动
- Nutch如何读取CrawlDb中的<Text,CrawlDatum>键值对
- 7月份37个新鲜的jQuery图片内容滑块和幻灯片出炉啦
- PowerManager.WakeLock请求锁时强制打开Screen和keyboardlight导致按Power键,系统也不会进Sleep问题!
- 基于WebGrid的文本框下拉选择
- 远程下载音乐为手机铃声核心代码(RingtoneManager与铃声存放路径)
- apache 配置 ssl
- 黑马程序员_sql一些知识点总结
- android usb挂载分析---vold处理内核消息
- Lua性能优化技巧