设为首页 加入收藏

TOP

Shell在大数据时代的魅力:从一道百度大数据面试题想到的点滴
2014-11-23 22:06:58 来源: 作者: 【 】 浏览:14
Tags:Shell 数据时代 魅力 一道百度 数据 试题 想到 点滴

对于在Linux下开发的同学来说,Shell可以说是一种基本功。


对于运维的同学来说,Shell可以说是一种必备的技能,而且应该要非常熟练的书写Shell。对于Release Team,软件配置管理的同学来说,Shell也起到了非常重要的作用。尤其是分布式系统发展的如火如荼,很多开源项目都开展的如火如荼(好像不是分布式的系统都不好意思拿出来说事)。分布式系统的配置,管理,Shell也起到了非常重要的作用,虽然只是简单的文件拷贝,但是谁让Shell天生是做这些的呢?


当然了,以上不是本文的主题。本文的主题是Shell在大数据分析领域的作用。


看一代经典的百度面试题吧:


对于一个用户日志文件,每行记录了一个用户查询串,长度为1-255字节,共几千万行,请排出查询最多的前100条。 日志可以自己构造。


对于使用C++, Java的同学来说,这个不是说几分钟就可以把可运行的代码搞定的。这个怎么样也得几十行代码吧。当然了,这个也可以考察一个同学编程,设计的基本能力。


但是我相信,如果你能用Shell来完成,面试官,或者至少是我,会很满意,因为Shell天生就是做这个的:


一行代码搞定:


awk '{print $1}' $file | sort | uniq -c | sort -k1nr | head -n$100


不用担心内存的问题,因为这几千万条数据完全可以装在内存中,而且,现在集群中的可用节点,没有几十G的内存都不好意思活着(当然了如果你们生产环境下的机器还是个位数的内存,那么你们。。。)。


尤其是你上线了自己的某个Feature,可能想很快的看一下相关的数据,那么把某个时间段的数据拿来分析一下,可以很好的去评估一下上线Feature的性能,等等。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇利用Node.js实现模拟Session验证.. 下一篇SHELL中创建临时文件的方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: