03 2013 档案
摘要:由于Hadoop的MapReduce和HDFS都有通信的需求,需要对通信的对象进行序列化。Hadoop并没有采用Java的序列化,而是引入了它自己的系统。 org.apache.hadoop.io中定义了大量的可序列化对象,他们都实现了Writable接口。实现了Writable接口的一个典型例子如下: java代码 1 public class MyWritable implements Writable { 2 // Some data 3 private int counter; 4 ...
阅读全文
摘要:下面给出了Hadoop的包的功能分析。PackageDependencestool提供一些命令行工具,如DistCp,archivemapreduceHadoop的Map/Reduce实现filecache提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度fs文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口hdfsHDFS,Hadoop的分布式文件系统实现ipc一个简单的IPC的实现,依赖于io提供的编解码功能参考:http://zhangyu8374.javaeye.com/blog/86306io表示层。将各种数据编码/解码,方便于在网络上传输net..
阅读全文
摘要:Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。 GoogleCluster Chubby GFS BigTable MapReduce 很快,Apache上就出现了一个类似的解决方案,目前它们都属于Apache的Hadoop项目,对应的分别是: Chubby-->ZooKeeper GFS-->HDFS BigTable-->HBase MapReduce-->Hadoop 目前,基于类似思想的Open Source项目还很多,如Facebook用于用户分析的Hive。 HDFS作为一个分布式文件...
阅读全文
摘要:打开一个网页,就能编辑多种声音效果,创建独一无二的个性化音乐或铃声。这里推荐7个在线音频编辑器网站,功能强大,各具特色。(1)Aviary Myna Audio Editor推荐指数★★★★☆Myna能轻松制作混音、编辑音轨、音频剪辑、应用音效、录制人声或乐器声音。可以上传声音文件或者从在线音频库搜索声音素材进行编辑,编辑完成的音频可以下载或者在线分享。(2)Makeownringtone推荐指数★★★Makeownringtone支持上传mp3, wma, ogg音频文件,编辑各种专业效果,编辑完成可以下载到电脑,或者生成WAP链接,或者生成和弦铃声。(3)DubStep Studio推荐指
阅读全文
摘要:Audio / Video 是HTML5的重头戏,做Web前端的难免要和音视频文件打交道,浏览器的群雄并立,对于音视频的支持格式相当不统一,通常要为同一份音视频准备3到4种不同的格式,好用的免费的转换软件就是必须必的了。此类免费软件中,国货皆无耻,大家请绕行。我这里推荐的几款是我从Google找到,并且自己用过,还觉得不错的。(1)来自freemake.com的Free Audio Converter和Free Video ConverterFree Audio Converter支持MP3, WMA, WAV, FLAC, AAC, M4A, OGG等30多种音频格式,支持从DVD, H.2
阅读全文
摘要:1 聚焦爬虫工作原理及关键技术概述 网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索..
阅读全文
摘要:5 Java带偏好的爬虫示例 在上一节中,我们已经指出,可以使用优先级队列(PriorityQueue)来实现这个带偏好的爬虫。在深入讲解之前,我们首先介绍优先级队列。 优先级队列是一种特殊的队列,普通队列中的元素是先进先出的,而优先级队列则是根据进入队列中的元素的优先级进行出队列操作。例如操作系统的一些优先级进程管理等,都可以使用优先级队列。优先级队列也有最小优先级队列和最大优先级队列两种。 理论上,优先级队列可以是任何一种数据结构,线性的和非线性的,也可以是有序的或无序的。针对有序的优先级队列而言,获取最小或最大的值是非常容易的,但是插入却非常困难;而对于无序的有衔接队列而言,插...
阅读全文
摘要:4 带偏好的爬虫 有时,在URL队列中选择需要抓取的URL时,不一定按照队列“先进先出”的方法进行选择。而把重要的URL先从队列中“挑”出来进行抓取。这种策略也称作“页面选择”(Page Selection)。这可以使有限的网络资源照顾重要性高的网页。 那么哪些网页是重要性高的网页呢? 判断网页的重要性的因素很多,主要有链接的欢迎度(知道链接的重要性了吧)、链接的重要度和平均链接深度、网站质量、历史权重等主要因素。 链接的欢迎度主要是由反向链接(backlinks,即指向当前URL的链接)的数量和质量决定的,我们定义为IB(P)。 链接的重要度,是一个关于URL字符串的函数,仅仅考察...
阅读全文
摘要:Django 是一款高性能的Python web框架,鼓励快速开发和干净、务实的设计。 Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django的重点是尽可能地自动化,坚持DRY原则。下面介绍4款基于Django 框架的开源项目:1、CMS 建站系统Django-CmsDjango-Cms 是一款基于Django框架开发的 CMS 建站系统。主要特点是简单易用,性能高。2、开源内容管理平台Mezzanine一个开源的内容管理平台,建立在Django框架上,,包括web版本和移动版本。更多见Mezzanine 文档,Mezzanin
阅读全文
摘要:交换变量1 x = 62 y = 53 4 x, y = y, x5 6 print x7 >>> 58 print y9 >>> 6if语句在行内1 print "Hello" if True else "World"2 >>> Hello连接 1 nfc = ["Packers", "49ers"] 2 afc = ["Ravens", "Patriots"] 3 print nfc + afc 4 >>&
阅读全文
摘要:贝叶斯网络是一种概率网络,它是基于概率推理的图形化网络,而贝叶斯公式则是这个概率网络的基础。贝叶斯网络是基于概率推理的数学模型,所谓概率推理就是通过一些变量的信息来获取其他的概率信息的过程,基于概率推理的贝叶斯网络(Bayesian network)是为了解决不定性和不完整性问题而提出的,它对于解决复杂设备不确定性和关联性引起的故障有很的优势,在多个领域中获得广泛应用。 贝叶斯网络又称信度网络,是Bayes方法的扩展,目前不确定知识表达和推理领域最有效的理论模型之一。从1988年由Pearl提出后,已知成为近几年来研究的热点.。一个贝叶斯网络是一个有向无环图(Directed Acycl...
阅读全文
摘要:调用文件系统(FS)shell命令使用bin/hadoop fs<args>的形式。所有的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是HDFS,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录,比如/parent/child可以表示成hdfs://namenode:namenodedeport/parent/child,或者等简单的/parent/child(假设配置文件中
阅读全文
摘要:本体是对领域实体存在本质的抽象,他强调实体间的关联,并通过多种知识表示元素将这些关联表达和反映出来,这些知识表示元素也被称为元本体,主要包括:概念——表示领域知识元,包括一般意义上的概念以及任务、功能、策略、行为、过程等,在本体的实现中,概念通常用类(class)来定义,而且通常具有一定的分类层次关系;属性——描述概念的性质,是一个概念区别于其他概念的特征,通常用槽(slot)或者类的属性(Properties)来定义;关系——表示概念之间的关联,例如一些常用的关联:父关系、子关系、相等关系;函数——表示一类特殊的关系,即由前n-1个要素来唯一决定第n个要素,如:长方形的长和宽唯一决定其面..
阅读全文
摘要:面向对象的知识表示方法基本出发点就是:客观世界是由一些实体组成的。这些实体有自己的状态,可以执行一定的动作。相似的实体抽象为较高层的实体,实体之间能以某种方式发生联系。所谓对象就是对这些实体的映像。对象中封装了数据成员(或者叫实例成员)和成员函数(方法)。数据成员可以用来描述对象的各种属性,这些属性是对外隐蔽的。外界可以且仅可以通过成员函数访问对象的私有成员,数据成员可以被初始化,可以通过成员函数函数被改变,因此对象可以动态地保存当前自己的状态。由于对象中还包含了操作(成员函数),因此可以把求解机制封装于对象之中。这样对象既是信息的存储单元,又是信息处理的独立单元,它具有一定的内部结构和处..
阅读全文
摘要:框架表示法是明斯基于1975年提出来的,其最突出的特点是善于表示结构性知识,能够把知识的内部结构关系以及知识之间的特殊关系表示出来,并把与某个实体或实体集的相关特性都集中在一起。 框架是一种描述固定情况的数据结构,一般可以把框架看成是一个节点和关系组成的网络。框架的最高层次是固定的,并且它描述对于假定情况总是正确的事物,在框架的较低层次上有许多终端--被称为槽(Slots)。在槽中填入具体值,就可以得到一个描述具体事务的框架,每一个槽都可以有一些附加说明--被称为侧面(Facet),其作用是指出槽的取值范围和求值方法等。一个框架中可以包含各种信息:描述事物的信息,如何使用框架的信息,关...
阅读全文
摘要:语义网络是知识表示中最重要的方法之一,是一种表达能力强而且灵活的知识表示方法。语义网络利用节点和带标记的边结构的有向图描述事件、概念、状况、动作及客体之间的关系。带标记的有向图能十分自然的描述客体之间的关系。 语义网络由于其自燃性而被广泛应用。采用语义网络表示的知识库的特征是利用带标记的有向图描述可能事件。结点表示客体、客体性质、概念、事件、状况和动作,带标记的边描述客体之间的关系。知识库的修改是通过插入和删除客体及其相关的关系实现的。采用网络表示法比较合适的领域大多数是根据非常复杂的分类进行推理的领域以及需要表示事件状况、性质以及动作之间的关系的领域。 语义网络表示法具有以下的优点...
阅读全文
摘要:产生式知识表示法是常用的知识表示方式之一。它是依据人类大脑记忆模式中的各种知识之间的大量存在的因果关系,并以“IF-THEN”的形式,即产生式规则表示出来的。这种形式的规则捕获了人类求解问题的行为特征,并通过认识--行动的循环过程求解问题。 一个产生是系统由规则库、综合数据库和控制机构三个基本部分组成。 产生式规则表示法具有非常明显的优点:自然性好,产生式表示用“IF-THEN ”的形式表示知识,这种表示与人类的判断性知识基本一致,直观,自然,便于推理;除了对系统的总体结构、各部分互相作用的方式及规则的表示形式有明确规定以外,对系统的其他实现细节都没有具体规定,这是设计者们在开发实用...
阅读全文
摘要:谓词逻辑表示法是指各种基于形式逻辑(formal Logic)的知识表示方式,利用逻辑公式描述对象、性质、状况和关系,例如“宇宙飞船在轨道上”可以描述成:In(spaceship,orbit)。它是人工智能领域中使用最早和最广泛的知识表示方法之一。其根本目的在于把教学中的逻辑论证符号化,能够采用属性演绎的方法,证明一个新语句是从哪里已知正确的语句推导出来的,那么也就能够断定这个新语句也是正确的。 在这种方法中,知识库可以看成一组逻辑公式的集合,知识库的修改是增加或删除逻辑公式。使用逻辑法表示知识,需要将以自然语言描述的知识通过引入谓词、函数来加以形式描述,获得有关的逻辑公式,进而以机器内...
阅读全文
摘要:什么是知识表示? 从一般意义上讲,知识表示是为描述世界所作的一组约定,是知识的符号化、形式化或模型化。 从计算机科学的角度讲,知识表示是研究计算机表示知识的可行性、有效性的一般方法,是把人类知识表示成机器处理的数据结构和系统控制结构的策略。 对于一个知识表示方法,通常有以下基本要求:具备足够的表示能力。针对特定领域,能否正确地、有效地表示出问题求解所需的各种知识就是知识表示的能力,这是一个关键的问题。选取的表示方法必须尽可能扩大表示范围并尽可能提高效率。同时,自然界的信息具有固有的模糊性和不确定性,因此对知识的模糊性和不确定性的支持程度也是选择时所要考虑的一个重要因素。与推理方...
阅读全文
摘要:国外很有多优秀的HTML5前端开发框架相信大家都耳熟能详:JQuery Mobile,Twitter Bootstrap, Schena Touch, BackBone等等。同样,也存在很多国内比较优秀的前端开发框架,其中中国互联网三巨头贡献了近一半:腾讯,阿里巴巴,百度。框架不是万能的,选择和项目匹配的框架可以显著提高开发效率,但是也有可能带来代码的臃肿,本着“write less, do more”思想,选择合适的框架是最重要的。其中每个框架各有特点,还需要读者自己把关。如:腾讯的JX比较适合构建和组织大规模、工业级的Web App,腾讯内部的WebQQ、Q+等产品都是采用JX框架开发。J
阅读全文
摘要:Hybrid App(混合模式移动应用)兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。很多人不知道市场上一些主流移动应用都是基于Hybrid App的方式开发,比如工商银行、百度搜索、街旁、东方航空等。 Hybrid App通常是基于第三方跨平台移动应用引擎框架进行开发,在国内开发者中比较知名的有PhoneGap、Titanium和AppCan这些引擎框架一般使用HTML5和Javascript作为编程语言,调用引擎封装的底层功能如照相机、传感器、通讯录、二维码等。HTML5和Javascript只是作为一种解析语言,真正调用的都是Native ...
阅读全文
摘要:接上节 3 Java 宽度优先爬虫示例 本节使用java实现一个简易的爬虫。其中用到了HttpClient和HtmlParser两个开源工具包。HttpClient的内容之前已经做过详细的阐述。有关HtmlParser的用法,以后会给出详细的介绍。为了便于理解,下面给出示例程序的结构,如下图: 首先,需要定义图中所描述的“URL队列”,这里使用一个LinkedList来实现这个队列。Queue类/***队列,保存将要访问的URL*/public class Queue{ //使用链表实现队列 private LinkedL...
阅读全文
摘要:上一节介绍了如何获取单个页面内容。在实际项目中,则使用爬虫程序遍历互联网,把网络中相关的网页全部抓取过来,这也体现了爬虫程序“爬”的概念。爬虫程序是如何遍历互联网,把网页全部抓取下来的呢?互联网可以看成一个超级大的“图”,而每个页面可以看作是一个“节点”。页面中的链接可以看成是图的“有向边”。因此,能够通过图的遍历的方式对互联网这个超级大“图”进行访问。图的遍历通常可以分为宽度优先遍历和深度优先遍历两种方式。但是深度优先遍历可能会在深度上过“深”地遍历或者陷入“黑洞”,大多数爬虫都不采用这种方式。另一方面,在爬取的时候,有时候也不能完全按照宽度优先遍历的方式,而是给待遍历的网页赋予一定的优..
阅读全文
摘要:在机器学习中,决策树是一个预测模型:它代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分岔路径则代表的某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。 从数据产生决策树的机器学习技术叫做决策树学习,通俗说就是决策树。 决策树学习也是数据挖掘中一个普通的方法。在这里,每个决策树都表述了一种树形结构,他有他的分支来对该类型的对象依靠属性进行修剪。每个决策树可以依靠对源数据库的分割进行数据测试。这个过程可以递归式的对树进行修剪。当不能再进行分割或一个单独的类可以被...
阅读全文
摘要:严格来说,Geolocation API并不属于HTML5标准规范,但其API接口使得它能让浏览器或者移动设备的浏览器获取用户的当前位置信息。 Geolocation API 是通过window.navigator.geolocation获得对地理位置定位的访问的。该对象有如下三个方法:getCurrentPosition()watchPosition()clearWatch() 1 首次获取当前位置 getCurrentPosition方法可以传递三个参数,如下所示: 1 void getCurrentPostion(in PositionCallback succes...
阅读全文
摘要:header:定义文档的页面组合,通常是一些引导和导航信息footer:定义文档或章节的末尾部分nav:用来构建导航,显示导航链接aside:定义一个页面的区域,用来表示包含和页面相关的主要内容,其作业主要是装载非正文的内容article:表示文档、页面,用来显示一块独立的文章内容section:定义文档中的节。比如章节、页眉、页脚或文档中的其他部分。hgroup:对网页或区段的标题元素进行组合,通常使用多级别的h1~h6标签节点进行分组,例如副标题、标签行等。audio:定义音频内容canvas:定义画布功能command:定义一个命令按钮datalist:定义一个元素的详细内容dialog
阅读全文
摘要:View Code 1 package org.apache.hadoop.examples; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.net.URL; 8 import java.net.URLClassLoader; 9 import java.util.ArrayList;10 import java.util.List;11 im...
阅读全文
摘要:Hadoop 0.20.2 安装配置说明作者:独孤酒间 编辑日期:2012年8月20日关键字:hadoop 0.20.2 集群配置 ubuntu描述:本人参考了书籍《Hadoop 实战》及网络上一些资源,经过多次尝试搭建成功后编写的此文档。文档中使用 Ubuntu Server 12.04 x64 + JDK 1.7.0 u5 + Hadoop 0.20.2 及 5 台虚拟机做为演示测试环境。希望能对大家带来帮助。本文档适合初学者,指引初学者或初次接触 Hadoop 的人成功安装 Hadoop ,使用代码执行简单的 HDFS 操作,并利用 MapReduce 执行分布式计算示例代码。其中 Ma
阅读全文

浙公网安备 33010602011771号