- 博客(345)
- 资源 (13)
- 收藏
- 关注
转载 mapreduce编程(二)- 大象书中求每一年的最高温度
书上的例子是为了取出一年当中气温最高的值,那么将年份和气温做了一个复合的key. 1 通过设置了partitioner来进行分区。因为分区是按照年份来进行,所以同年的数据就可以分区到一个reducer中。2 自定义key比较器,按照年份升序,温度值降序。这样map输出的所有kv对就是按照年份升序,温度值降序排列的。3 自定义分组比较器,所有同一年的数据属于同一个组,那么在r
2015-01-15 16:13:15 722
转载 mapreduce编程(一)-二次排序
mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变。这个例子中定义的map和reduce如下,关键是它对输入输出类型的定义:(java泛型编程) public static class Map extends Mapper public static class Reduce extends Reducer1 首先说一下工作原理:在m
2015-01-15 16:07:51 540
原创 先安装Ubuntu,后安装win8,双系统启动菜单的问题
正常情况下,我们是都是先安装 windows,然后再安装 Ubuntu,这样有一个grub的启动菜单,包括windows和Ubuntu.但是如果重装了windows之后,启动的时候,就没有启动菜单了。这时只能进Windows,进不了Ubuntu。如何解决?解决方法如下:(1)在Win8上安装EasyBCD,添加一个启动项,选择【linux/bsd】,下面的类型选择【grub2】它会自动
2015-01-09 16:39:25 721
原创 ubuntu出现grub rescue解决办法
开机后,显示:GRUB loadingerror: unknow filesystemgrub rescue>解决方法如下:(1)gurb rescue> ls //查找grub的配置文件,因为分区表被破坏了,用ls命令列出分区。ls 后会出 (hd0) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,m
2015-01-09 16:38:47 1335 1
原创 修改 Ubuntu 和 WIN7 双系统的默认启动系统
在win7的基础上,安装了ubuntu 14.04 LTS 形成双系统,每次开机,电脑默认选择的是ubuntu。由于平时用win7的次数比ubuntu多,所以想把win7设为默认的选择。其实修改的方法很简单,进入ubuntu后,修改 /boot/grub/grub.cfg 即可。 1. 使用vim打开 sudo vim /boot/grub/grub.cfg2. 找到 set defa
2015-01-06 14:55:23 647
原创 Ubuntu下为Firefox安装Adobe Flash Player
使用环境:OS:Ubuntu 12.04 LTSBrowser: Firefox 12.0Adobe Flash Player: install_flash_player_11_linux.x86_64.tar.gz安装方法:1. 下载Adobe Flash Player:请从Adobe官方下载,也可以从这个URL下载,这个URL也是官方的链接:get.adobe.co
2015-01-06 09:51:35 656
原创 ubuntu 创建eclipse桌面快捷方式
1、 sudo gedit /usr/share/applications/eclipse.desktop2、向eclipse .desktop中添加以下内容:[Desktop Entry]Encoding=UTF-8Name=eclipseComment=Eclipse IDEExec=/home/hadoop/eclipse/eclipseIcon=/home/had
2014-12-25 22:57:49 611
原创 ubuntu下firefox汉化
今天安装ubuntu 14.04后发现firefox浏览器菜单都变成英文的了。就上网搜解决方法。最后发现如下方法可以汉化Firefox:到如下地址下载zh-ch.xpi就行了。http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/31.0-candidates/build2/linux-x86_64/xpi/如果是其他版本的可
2014-12-25 22:53:43 686
原创 spark java api 调用时报
java.lang.ClassNotFoundException: JavaWordCount$1在调用spark给的例子中,我们会碰到提交运行的时候会报空指针问题。那时因为spark集群中找不到你制定的class,所以我们需要手动的将包添加到当前的job中。以JavaWordCount为例,修改后的代码如下:/** Licensed to the Apache Soft
2014-12-21 14:52:54 3044
原创 SparkPi例子运行出错解决方法
按照《Spark实战高手之路-第1章》的前四节,搭建完Spark集群及IDEA集成环境后,最后一步是用IDEA集成环境运行SparkPi例子。可就在这最后一步,让我花了三天时间才最终完成。所以,这里详细介绍解决方法,让接下来以《 Spark实战高手之路》入门的后来者少走些弯路。1.在《Spark实战高手之路-第1章(4)》的最后,说要以本地模式过行,则在 Edit Configurations
2014-12-19 22:45:15 3962
转载 Nutch1.7学习笔记8:CrawlDb源代码分析
CrawlDb分析功能:将解析出来的Segment中的URL更新至CrawlDb。update方法update方法的参数包含四个参数:(1) CrawlDb数据库的路径,如crawl/crawldb;(2) Segment的路径,如crawl/segments/20131130101034;(3) 是否规范化的布尔值;(4) 是否进行过滤的布
2014-12-19 10:49:54 528
转载 Nutch1.7学习笔记7:Robots协议处理流程
说明:通常来说,网络爬虫应该遵循网站所描述的robots协议。因此,任何网络爬虫都有关于robots协议部分的处理。分析入口:Robot相关处理的入口位于Fetcher.java的L676,如下所示:BaseRobotRules rules = protocol.getRobotRules(fit.url, fit.datum);Fetcher抓取每个URL之前都会
2014-12-19 10:48:58 590
转载 Nutch1.7学习笔记6:ParseSegment源代码分析
ParseSegment分析ParseSegment类的结构相对要简单一些,与Injector等在内部类中实现map和reduce的方式不同,它直接在类中实现。核心方法解析:map方法的功能包括:(1) 检查URL对应的Content是否抓取成功,如果没有直接返回,否则继续;(2) 检查Content的内容是否为truncated以及parser.s
2014-12-19 10:48:19 567
转载 Nutch1.7学习笔记5:Fetcher源代码分析
Fetcher分析Fetcher是以生产者/消费者模式来处理网页抓取的。QueueFeeder作为生产者,从前面Generator中产生的读取出来,然后加入到FetchItemQueues队列中,加入的时候需处理队列已满等异常情况。FetcherThread作为消费者,不断从队列里取出待抓取的URL进行抓取。Fetcher与Injector和Generator的不同
2014-12-19 10:47:45 512
转载 Nutch1.7学习笔记4:Generator源代码分析
Generator分析Generator的功能主要是将注入的URL按照一定的规则生产一系列CrawlDb的子集。这里的规则包括:抓取时间是否符合要求,是否符合设定过滤规则,根据页面评分进行排序,根据URL的host/ip/domain划分子集,是否超过设定的generate最大值(就是Crawl命令中的topN值)等。generate方法主要包括三个job的执行:第一个jo
2014-12-19 10:47:08 410
转载 Nutch1.7学习笔记3:Injector源代码分析
Injector的主要功能Injector的主要功能是将urls目录下的文本文件中的URL地址注入到CrawlDb中。Injector类基本构成(1) 三个主成员变量nutchScoreMDNamenutchFetchIntervalMDNamenutchFixedFetchIntervalMDName(2) 两个内部静态类Injec
2014-12-19 10:46:31 554
转载 Nutch1.7学习笔记2:基本工作流程分析
说明:本文的工作流程分析基于1.x的最新版Nutch1.7。找到分析源头分析软件的基本工作流程,通常都是从它的运行命令开始。在前面的一文 (地址:http://blog.csdn.net/gobitan/article/details/13916981)中提到了运行Nutch的命令为$bin/nutch crawl urls -dir crawl -depth 3 -topN
2014-12-19 10:45:44 448
转载 Nutch1.7学习笔记1:基本环境搭建及使用
说明:Nutch有两个主版本1.x和2.x,它们的主要区别是2.x引入了Gora作为存储抽象层,从而支持各种NoSQL数据库,如HBase,Cassandra等。本文是以1.x的最新版Nutch1.7 (发布于2013年6月25日)为例。环境准备:一台Ubuntu Linux服务器,可以装在VMware虚拟机中。下载Nutch1.7版本的二进制包,地址:http://www.a
2014-12-19 10:44:33 582
转载 Nutch1.8+Hadoop1.2+Solr4.3分布式集群配置
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。当然在百度百科上这种方法在Nutch1.2之后,已经不再适合这样描述Nutch了,因为在1.2版本之后,Nutch专注的只是爬取数据,而全文检索的部分彻底的交给Lucene和Solr,ES来做了,当然因为他们都是近亲关系,所以Nutch抓取完后的数据,非常easy的就能生成全文索
2014-12-19 10:18:42 1064
转载 nutch 1.7 导入 eclipse 其他版本类似
前提: jdk eclipse 等等安装就略过了。 下载 apache-nutch-1.7-src.zip 包 和 apache-nutch-1.7-bin.zip 包一、1、创建一个Java Project 。2、复制 nutch-1.7-src 包下 java 包里的org整个包放在 项目的src包下。3、复制 nutch-1.7-bin包里
2014-12-18 00:44:53 520
转载 Hadoop如何计算map数和reduce数
Hadoop在运行一个mapreduce job之前,需要估算这个job的maptask数和reducetask数。首先分析一下job的maptask数,当一个job提交时,jobclient首先分析job被拆分的split数量,然后吧job.split文件放置在HDFS中,一个job的MapTask数量就等于split的个数。job.split中包含split的个数由FileInputF
2014-12-15 00:34:24 563
转载 hadoop作业调优参数整理及原理
1 Map side tuning参数1.1 MapTask运行内部原理当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存buffer(MapOut
2014-12-15 00:33:16 502
原创 HDFS中使用append出错
1.文件append的问题 hadoop的版本1.0.4以后,API中已经有了追加写入的功能,但不建议在生产环境中使用,原因如下:Does HDFS allow appends to files? This is currently set to false because there are bugs in the "append code" and is not supported i
2014-12-10 13:32:21 3869
原创 Hadoop作业提交的方法
最近几天一直在纠结hadoop作业提交的问题,对于命令行提交作业以及在集群中提交作业这里不再赘述,不会就去Google吧! 我们在客户机提交作业的时候总是发现出错,eclipse总是报jar file not found 的错误!我们知道客户端提交任务的时候,使用方法job.setWaitForCompletion(true)的时候,这个方法会调用job的submit()方法,sub
2014-12-02 19:36:11 622
转载 Hadoop源码解读
Hadoop源代码分析(一)关键字: 分布式 云计算 完整文章及图,在我的资源里面,可以去下载。Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。 GoogleCluster: http://research.google.com/archive/googlecluster.html Chubby:http://labs.go
2014-11-07 08:28:54 1095
原创 VS2010在设置为Release后出现的字符集问题
点击菜单 “项目”->“工程名 属性”->“属性页”->“配置属性”->“常规”->“字符集”->“使用多字节字符集”
2014-11-05 23:53:52 609
转载 使用IntelliJ IDEA开发Spark1.0.0应用程序
之所以写本篇是因为后面很多博客需要例程来解析或说明。本篇是Spark1.0.0 开发环境快速搭建中关于客户端IDE部分的内容,将具体描述:如何安装scala开发插件如何创建项目和配置项目属性如何编写源代码如何将生成的程序包 至于如何运行程序包,请参见应用程序部署工具spark-submit 。 注意,客户端和虚拟集群中hadoop、spark、s
2014-10-10 22:37:25 935
转载 Spark1.0.0 应用程序部署工具spark-submit
随着Spark的应用越来越广泛,对支持多资源管理器应用程序部署工具的需求也越来越迫切。Spark1.0.0的出现,这个问题得到了逐步改善。从Spark1.0.0开始,Spark提供了一个容易上手的应用程序部署工具bin/spark-submit,可以完成Spark应用程序在local、Standalone、YARN、Mesos上的快捷部署。1:使用说明
2014-10-10 22:34:25 693
原创 IntelliJ IDEA 删除项目
IntelliJ IDEA 删除项目,先关闭项目(close project),然后界面上不会是有项目例表,鼠标移到你想要删除的项目上(不要点击,一点就打开了),然后按DELETE键
2014-10-09 23:37:31 39525
原创 ubuntu14.04 设置搜狗输入法在任何时候按左右两侧的shift激活
如下图,搜狗输入法for Linux最近与广大用户见面了,现在的版本是1.0.0.0014,本人系统是原版的Ubuntu 14.04,非麒麟版本。
2014-09-12 19:25:02 1273
原创 ubuntu 自动化测试(selenium webdriver+chrome)结合Xvfb
1.首先安装Xvfb :sudo apt-get install Xvfb2.
2014-08-21 11:16:37 3962
ubuntu 自动化测试(selenium webdriver+chrome)结合Xvfb
1.首先安装Xvfb : sudo apt-get install Xvfb2.打开终端,执行: Xvfb :99 -ac 2>/dev/null export DISPLAY=:99 ( :99是上一条指令设置的端口对应到null )注解:用来将X11的界面输出重置到null,也就是将测试程序启动的浏览器界面设置为不需显示.注意:本设置只在当...
2014-08-21 11:16:00 528
转载 配置Nutch模拟浏览器以绕过反爬虫限制
当我们配置Nutch抓取 http://yangshangchuan.iteye.com 的时候,抓取的所有页面内容均为:您的访问请求被拒绝 ......这是最简单的反爬虫策略(该策略简单地读取HTTP请求头User-Agent的值来判断是人(浏览器)还是机器爬虫),我们只需要简单地配置Nutch来模拟浏览器(simulate web browser)就可以绕过这种限制。 在nut
2014-08-18 15:58:47 1338
配置Nutch模拟浏览器以绕过反爬虫限制
当我们配置Nutch抓取 http://blog.csdn.net/gaokao2011/article/details/38661903的时候,抓取的所有页面内容均为:您的访问请求被拒绝 ......这是最简单的反爬虫策略(该策略简单地读取HTTP请求头User-Agent的值来判断是人(浏览器)还是机器爬虫),我们只需要简单地配置Nutch来模拟浏览器(simulate web brows...
2014-08-18 15:58:00 95
转载 ubuntu连接windows的工具:rdesktop
rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本,诸如NT 4 Terminal Server, 2000, XP,
2014-08-18 15:38:08 1552
ubuntu连接windows的工具:rdesktop
rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本,诸如NT 4 Terminal Server, 2000, XP, ...
2014-08-18 15:38:00 284
原创 ubuntu14.04 安装LAMP中访问info.php提示The requested URL /index.php was not found on this server.
这个问题很简单.只需要将你de
2014-08-18 09:26:08 6493
ubuntu14.04 安装LAMP中访问info.php提示The requested URL /index.php was not found on this server....
这个问题很简单.只需要将info.php放到/var/www/html里面就可以了.
2014-08-18 09:26:00 617
hadoop-eclipse-plugin-1.2.1
2013-10-24
hadoop 权威指南(第三版)英文版
2013-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人