摘要: 我们用system()调用shell很容易就可以办到了,但是我们往往想把这个数量存到一个整形变量里面,因为system调用之后会把结果定向到控制台。我找了半天吧system定位到标准输出的方法,无奈没找到,所以只能先把它定向到一个file里面,这样我从file里面可以获取这个数值。1.具体实现:#include <iostream>#include <sys/stat.h>#include <fstream>system("rm -rf p_cnt.txt");system("ps gaux | grep MyTest | gr 阅读全文
posted @ 2012-11-13 11:07 花考拉 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 我下载的版本是:mongo-cxx-driver-v2.2,这个版本使用了scons进行编译,在目录中输入scons命令即可编译。注意:该版本如果使用boost1.5X将会出现filesystem的版本错误,建议使用1.49 1.48等。先去src目录打开SConscript.client文件,把,env.SharedLibrary(‘mongoclient’, clientSource),前面的注释去掉,这样就可以编译动态库了。开始会出现这样的信息:scons: Reading SConscript files …Checking for C++ library boost_thread-m 阅读全文
posted @ 2012-10-16 10:07 花考拉 阅读(1500) 评论(0) 推荐(0) 编辑
摘要: *** glibc detected *** 其实看到上述字眼大家都很烦,我也很烦,今天闲着没事,写写Bug,混个眼熟,下回见面可以打个招呼把它送走~extern void *realloc(void *mem_address, unsigned int newsize);先判断当前的指针是否有足够的连续空间,如果有,扩大mem_address指向的地址,并且将mem_address返回,如果空间不够,先按照newsize指定的大小分配空间,将原有数据从头到尾拷贝到新分配的内存区域,而后释放原来mem_address所指内存区域,同时返回新分配的内存区域的首地址。即重新分配存储器块的地址。1. 阅读全文
posted @ 2012-09-12 23:19 花考拉 阅读(7008) 评论(1) 推荐(0) 编辑
摘要: 第一次听说google的simhash算法[1]时,我感到很神奇。传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。传统hash算法产生的两个签名,如果相等,说明原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来说,要设计一个hash算法,对相似的内容产生的签名也相近,是更为艰难的任务,因为它的签名值除了提供原始内容是否相等的信息外,还能额外提供不相等的原始内容的差异程度的信息。因此当我知道google的simhash算法产生的签名,可以 阅读全文
posted @ 2012-07-29 22:18 花考拉 阅读(1073) 评论(0) 推荐(0) 编辑
摘要: 3.3 处理偏好值为空的数据(布尔偏好) 有时推荐引擎中出现偏好值为空的记录。它代表了用户和项目是关联的,但是并没有表现出关联程度。举了例子,一个新闻网站根据用户已阅读内容为用户推荐新闻。“已阅读”使一个用户和一个项目产生了关联,然而这是唯一能够获取的信息。一般网站也不会让用户去给文章做个排序,更不会让用户再做除了阅读之外的其他什么事了。所以我们仅仅知道用户和那些文章关联了,而再也没有其他的内容了。 面对这样的情形,我们别无选择。这里不会有偏好值。后续几章将会依然提供处理如此情形的技术和建议。然而有时我们忽略掉偏好值也未尝不是坏事,只要情形需要。 丢掉用户和项目之间的联系很容易,或者说我... 阅读全文
posted @ 2012-07-25 12:46 花考拉 阅读(942) 评论(0) 推荐(0) 编辑
摘要: 3.2 内存中的数据模型 DataMode是推荐器总输入数据的一种抽象。推荐算法需要用它来实现高效的访问数据。例如,DataModel可以在输入数据中提供一列用户,或者提供与某项目关联的所有偏好值,也或者提供对一个项目集合感兴趣的所有用户ID。本小节精选出一些关于DataModel的API来做一番介绍,这些API可以再官方文档中查阅到详细说明。3.2.1 GenericDataModel GenericDataModel是最简单的数据模型的实现,它是“内存版”的。当你希望在内存中构建你的数据模型时,它比较适合你,而非基于硬盘中的文件和数据库。它所接收的偏好是以FastByIDMap存储用户.. 阅读全文
posted @ 2012-07-24 21:49 花考拉 阅读(933) 评论(0) 推荐(0) 编辑
摘要: 3推荐器的数据表达本章概要:Mahout的推荐数据如何呈现DataModel 的实现和使用布尔型的偏好数据处理推荐结果的好坏取决于数据的数量和质量。“巧妇难为无米之炊”用在这里再合适不过了。数据质量高本身是好事,而且数据量大也是好事。推荐算法天生就是数据密集型的,它们擅长处理大数据。算法运行的性能和数据的质量和呈现形式直接相关。一个好的数据结构可以影响算法的处理能力、处理规模以及很多其他性能。本章探索了一些关键的类,这些类主要负责呈现数据、访问推荐器相关数据。你将会了解为何Mahout提供的数据表达方式会影响整个框架的效率和可扩展性。本章将会详细介绍一个Mahout中关键的概念,它提供了数据访 阅读全文
posted @ 2012-07-23 14:48 花考拉 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 2.4 评估查准率(precision)和召回率(recall) 我们可以从更广义的角度去看待推荐问题:它并不是严格的要去估计偏好指数来提供推荐结果,也不总是要向用户提供准确的偏好指数的值。很多时候,我们只需从好到坏列出推荐排序,事实上,有些时候我们只需列出很少一部分排名考前的就可以了。 这样来看,我们也可以利用经典的信息检索中的度量方法去评估分类器:查准率和召回率。这些术语被典型的用在搜索引擎之中。而且,搜索引擎正是为一个查询返回一些排名较好的结果。 一个搜索引擎虽然要尽量多的返回相关结果,但是一定不能在靠前的结果中返回一些不相干的结果。查准率描述的是在靠前的结果中相关结果所占的比例,我们. 阅读全文
posted @ 2012-07-22 16:18 花考拉 阅读(1037) 评论(1) 推荐(0) 编辑
摘要: 2.3 评估推荐器 推荐器是一个工具,它用来解决“如何为一个用户给出最好的推荐”这样的问题。在得出结果之前,最好先弄清楚问题。究竟怎样才是一个好的推荐结果?我们如何才能得出这样的结果?这一章剩下的部分将停下来探索推荐器的评估,因为这是用来了解特定推荐器的有力工具。 最理想的推荐器会像巫师一样某明奇妙的猜到你所喜欢的东西。它可能会知道你有多喜欢一个东西,甚至你都没有见过它或者从未表达过你是否喜欢它。一个推荐器能够精确的得出你对于每个项目的偏好指数,然后按照偏好指数排名罗列出来,这就是一个好的推荐。 确实,为一些或者全部的项目打分评级是推荐引擎常见做法。所以,评估推荐器的一种方案就是评估它所产生的 阅读全文
posted @ 2012-07-22 00:19 花考拉 阅读(970) 评论(2) 推荐(1) 编辑
摘要: 2 推荐器的介绍本章概要: Mahout中的推荐器 推荐器实战一瞥 推荐引擎精度与质量评估 基于一个真实数据集的测试:GroupLens 每天我们都会对一些喜欢的、不喜欢的甚至不关心的事物进行一些评价。这中行为往往是无意识的。你在收音机上听到一首歌,你可能会因为它的美妙或者难听而注意到它,也可能直接忽略。这样的情形也会非常普遍的发生在人们对于T恤、沙拉酱、滑雪场、发型、脸型或者电视节目。 尽管人们的口味多种多样,但是它遵从一定的模式。人们往往会喜欢和他们偏好相似的事物。比如我爱吃培根生菜番茄三明治,你可以猜到我也喜欢火鸡三明治,因为这两种三明治很相似。或者说,我们可以认为一个人很可能会喜欢.. 阅读全文
posted @ 2012-07-21 21:01 花考拉 阅读(1405) 评论(1) 推荐(0) 编辑
摘要: 本文默认您已经了解了Thrift和HBase Client APIHBase Clint API 指南http://www.spnguru.com/2010/07/hbase-client-api-guide/Thrift官方http://thrift.apache.org/一些转载的经验:(出处:http://blog.linezing.com/2012/11/hbase-thrift-api-common-issues-summary )这里结合对HBase Thrift接口(HBase版本为0.92.1)的使用经验,总结其中遇到的一些问题及其相关注意事项。字节的存放顺序HBase中,由于 阅读全文
posted @ 2012-07-20 14:38 花考拉 阅读(1064) 评论(0) 推荐(0) 编辑
摘要: 数据环境搞好了,必须考虑如何存取、传输。我们用thrift。Facebook 开发的远程服务调用框架 Apache Thrift,支持 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 。其传输数据采用二进制格式,相对 XML 和 JSON 体积更小,对于高并发、大数据量和多语言的环境更有优势。本系列只讲部署安装,原理神马的以后再说!有些人安装thrift很容易就成功了,那是因为他机器的各种库比较全,有些安装目录和版本也恰好对了,我就没那么幸运了【其实我总是那么不幸。。】上教程:我安装的是thri 阅读全文
posted @ 2012-07-11 16:26 花考拉 阅读(1718) 评论(1) 推荐(0) 编辑
摘要: HBase使用LZO压缩 阅读全文
posted @ 2012-07-11 16:07 花考拉 阅读(1918) 评论(0) 推荐(0) 编辑
摘要: Hbase环境部署一、安装准备下载cdh3版本的hbase默认前提已经安装好cdh3版本的hadoopmaster 192.168.2.25 主机名:a1slave1 192.168.2.26 主机名:a2slave2 192.168.2.27 主机名:a3slave3 192.168.2.28 主机名:a4slave4 192.168.2.29 主机名:a5二、安装步骤(默认在master节点上进行)解压hbase的压缩包修改$HBASE_HOME /conf/hbase-env.sh文件export HBASE_OPTS="-ea -XX:+UseConcMarkSweepGC 阅读全文
posted @ 2012-07-11 13:58 花考拉 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 参考http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/a) 安装准备所有机器的用户名和$HOME目录配置一致;(用户名、密码、目录结构)所有机器JDK的安装目录为/usr/lib/jvm/java-6-openjdk;每台机器的/etc/hosts文件中包括所有机器的IP和hostname一致;建议在一台上配好后,直接把hosts加上的映射内容复制过去。选取一台机器作为master,在配置都差不多的情况下,选取IP最低或最高的,便于管理和记忆。配置ssh,首先使其无密码 阅读全文
posted @ 2012-07-11 13:32 花考拉 阅读(1151) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示