总结时间:2014-7html
总结人: 江中炼mysql
1.其实,我但愿你们看了不是看完就算了,也不要谢谢个人总结,我但愿的传递这种共享的精神就像,你拿到这个总结之后,你自私的整合了你的东西,后期你不与别人分享,之后就没人与你来分享了,由于这种相信对于朋友,只有一次,若是受过伤,天然就不会继续传递了web
2.但愿咱们一块儿传递正能力,传递开源和共享,作一个无私,并愿意帮助别人并与别人分享的人。谢谢你们合做,我讨厌自私的,更讨厌那种用别人东西的人,还不与别人分享的人面试
我就讲讲咱们的项目吧:算法
谈咱们最近的联通邮箱项目吧sql
既然是项目,咱们确定是有目的的,咱们那么的目的是干吗呢?数据库
是盈利?不是,是提升用户的亲密度,作产品推广,既然是产品推广,那么个人考虑的问题就是如何推广apache
既然是作推广,咱们就得分析咱们的用户人群勒缓存
第1:用户数据量的问题网络
第2:用户使用状况
第3:统计分析
第4:针对性的去活动刺激、或者产品优化、反正就是知足这帮人群
第5:再进行分析统计,而后分析咱们最终的效果
那么上亿级别的数据量,咱们用传统框架,明显不靠谱,这个mysql彻底不行,oracle太贵,效率通常,咱们从开发成本考虑到了用大数据hadoop来解决这个大数据量的问题
(知道的能够讲讲,不知道的直接忽略跳过)
那么我据说大家公司打算作站内搜索,据我了解,我对nutch是比较了解的,对于这款软件,我想说:对luence的完美封装,那么咱们的技术开发成本较低,而且hadoop是nutch里面的分割出来一个子项目,也就是nutch对hadoop是完美支持的,咱们如今的问题就是整合,把两款软件整合好,利用好,后期就是一些优化的工做勒
至于前台的查询索引,咱们仍是可使用开源框架solr,这款框架最大的用户就是创建索引,方便快速查询展示,咱们使用该框架式彻底能够对咱们的数据库创建相应的索引,固然用户量不过能够用关系型数据库(mysql,oracle),数据量超标之后,这个咱们彻底能够考虑使用hbase,目前据我了解,这两款框架是能够完美整合的。
那么存储有hadoop,数据快速查询有hbase<针对用户>,数据爬取有nutch,创建索引有solr,我想前期这一块整合好,是很是有优点的。
最后就是前台的web页面,我感受就简单了,作就行
谈到了hadoop,那么他有什么好处呢?
1. 容错性 (hdfs 冗余备份机制/mapreduce 心跳机制,维持job正常完成)
2. 高效性 分布式文件系统,处理海量数据这也是他的优点
3. 扩展性 就是能够利用多台机器,进行分布式文件存储
4. 廉价性 下降开发成本,开源免费,硬件要求不高
(讲完之后,你就能够画一画mapreduce的底层计算的原理)
(这两个框架的底层原理,调优,实际的案例)
Hbase架构:http://www.cnblogs.com/shitouer/archive/2012/06/04/2533518.html
Hbase调优:http://blog.csdn.net/dajuezhao/article/details/6887575
Hive架构:http://my.oschina.net/repine/blog/192692
Hive调优:http://my.oschina.net/repine/blog/193869
机器学习领域经典算法的实现,旨在帮助开发人员方便快捷地建立智能应用程序。
Mahout的主要目的是实现可伸缩的机器学习算法(就是算法的M-R化),但也不必定要求基于Hadoop平台,核心库中某些非分布式的算法也具备很好的性能
目标是帮助开发人员快速创建具备机器智能的应用程序,目前比较成熟和活跃的主要包括:
1. 频繁模式挖掘
a) Apriori算法
b) FP树
c) FP-Growth算法
d) PFP算法
2. 聚类算法
a) K-means
b) Canopy聚类
c) 模糊K均值
3. 分类器
a) 贝叶斯
b) 随机森林
c) 神经网络
d) 决策树(ID3,C4.5)
4. 推荐系统
a) kNN(k-nearest neighbor / Fix-size neighborhoods) 固定数量的邻居
i. 基于用户的协同过滤算法UserCF
ii. 基于物品的协同过滤算法ItemCF
b) Threshold-based neighborhoods基于类似度门槛的邻居
i. 基于用户的协同过滤算法UserCF
ii. 基于物品的协同过滤算法ItemCF
以UserCF的推荐算法为例,官方建议咱们的开发过程:
模型à类似度à最近邻à推荐算法
谈到spark,如今mahout作数据挖掘,固然须要时时计算
因此apache mahout官网说:goodbye mapreduce
那么spark究竟是一个什么呢?
1. Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架
2. Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具备的优势;3. 但不一样于MapReduce的是Job中间输出和结果能够保存在内存中,从而再也不须要读写
HDFS
4. 因为RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如web服务的存储或者是增量的web爬虫和索引。就是对于那种增量修改的应用模型不适合
(RDD是什么呢?
Spark还引入了一个抽象概念,即弹性分布式数据集RDD(resilient distributed datasets )。RDD是一个分布在一组节点之间的只读的对象集合。这些集合是弹性的,即可以在部分数据集丢失的状况下重建。重建部分数据集的过程须要一种维护血统(lineage,即重建部分数据集所需的信息,说明数据是根据什么过程产生的)的容错机制支持。
一个RDD能够是:(1)一个从文件建立的Scala对象,或(2)一个并行切片(分布在各个节点之间),或(3)从其余RDD转换得来,或(4)改变已有RDD的持久性,如请求将已有RDD缓存在内存中。
)
总结:所以Spark能更好地适用于数据挖掘与机器学习等须要迭代的map reduce的算法。
Spark能够直接对HDFS进行数据的读写,一样支持Spark on YARN。
Spark能够与MapReduce运行于同集群中,共享存储资源与计算,数据仓库Spark实现上借用Hive,几乎与Hive彻底兼容。
我总结的比较少:
1.面试了不少家企业吧,小公司,大公司,加起来将近15家左右,其实就像不少人想的同样,去大公司,或者创业型公司(其余公司就尽量不去考虑,都是为了利益,因此请谨慎选择)
2.我前期是以本科学历去面试,基本上技术都过了,可是价格谈不高,我也不知道为何,总感受好像他们没有意识到你的价值所在;或者说你的水平没有体现出来,还有就是你对本身的人生规划没有规划好,别人就不打算考虑你勒(
我想:我tm这么小的孩子,能规划好本身的人生,我tm还来你这个破地方干吗,我知道本身将来是什么样子,我早就去创业去了,我艹,这些人tm就闲的蛋疼!
不过这些人的存在仍是有必定道理的,就是判断你是一个什么样的人,就像我能从你的话语中知道你将来的发展是什么样子的,因此那么单纯一点,要么老成一点,不要太别扭了,不知道就说不知道,不要吞吞吐吐的,人生的规划是一个长期的想法,因此你临时拼凑的话别人是看的出来的。
若是不知道就说:我如今只想好好的工做,尽本身的最大能力去完成并优化本身的工做,提高公司效率,其余的我没想过,就这么简单那,不要搞得太复杂了,有时候你回去,听你本身的话,你都感受到可笑,更况且那些都是职场老手,见过的人,比你喝过的水都多,因此见机行事)
3.最后我想通了,作真诚的人,我就以高中学历开始投,其实不少公司,特别是创业型公司,不会看重你的学历,还有一些正在向上发展得上市公司,对学历要求每那么高,要的是能力,
对于百度,我只想说:人家看的不光是能力,还有学历。以我这个水平,作ETL,我感受15k彻底能够拿下,对于我来讲,没问题,我能作,可是我没学历。这是事实,因此更要让本身牛逼,让别人为你破格。这都是后话
其实这并无错,错的是咱们之前没有 努力的去学习,因此坚持学习,奋斗,坦诚的作事,我相信会有结果的
4.大家会说:我运气好,我找到工做,其实我也是这样认为的,我运气还不错;就像不少人说诚实在中国的确是一个奢侈品。就像无私分享在中国也是奢侈品同样
5.不过对大家刚找工做的人来讲,或者经验机会没有的人来讲:你能够包装,其实这个你能力够,你能够作到的,甚至你的能力都超过了工做过几年的人。
可是若是你想真诚的作事,心安理得:就投个实习生,而后写出你会的公司,作过的项目,个人能力是能够为个人经验少做支撑的,我相信,尽管这样的公司不多(就像我如今一直坚持开源共享同样,我没有吹牛逼,我真的是这样作,个人学历都改了,都是真实的,项目固然这个事须要包装的,这个跟你的经验不要紧,跟你的灵活性有关了,若是你独立的作一个项目出来,写出项目,和流程,优化;别人愿意培养的,你放心,可是仍是须要耐心)
对于这个面试必备的东西,没有版权问题,随便传递,可是请不要作一个自私的人。
记得咱们的口号:
开源共享
座右铭:
你在你擅长的领域牛逼,
并带着一群小白变牛逼,
别人会发自心里的去尊重你的。
--请点击加入咱们
如今算法这一块仍是比较欠缺,我想找一个朋友帮忙完善一下博客
若是你们这样愿意分享交流的朋友,请及时推荐给我,谢谢
联系方式:(外号:小头)
QQ:529815144 || QQ群:214293307